asp.net,在GridView中动态添加a标签并带数据参数跳转,并且要再后台控制a标签
楼主我知道你的是什么问题了!!!!!!!!!!!!!!!!!!!!!!
如果你加runat="server" 那<%#这东东会被htmlEncode()掉,如果你不加runat="server",那你在后台又得不到这个a的控件。下面我告诉你这个解决方法:
<asp:gridview>
<Columns><ItemTemplate>
<asp:LinkButton ID="aaa" runat="server">LinkButton</asp:LinkButton>
<asp:HiddenField ID="bbb" runat="server" value='<%#Eval("ID")>' />
</ItemTemplate></Columns>
</gridview>
后端在GridView1_RowDataBound方法中这样写:
LinkButton aaa=eRowFindControl("aaa") as LinkButton ;
HiddenField bbb=eRowFindControl("bbb") as HiddenField ;
aaaPostBackUrl="~/abcaspxID"+bbbValueTrim();
分两种情况:
如果允许页面刷新,可以指定href=执行“update oms_send_message set status=0”的php页面updatephp。
如果不允许页面刷新,js要通过ajax方式与后台交互。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。这样向后台页面updatephp发送一个ajax请求,更新数据。
<html lang="en">
<head>
<meta charset="UTF-8">
<title>弹窗</title>
</head>
<style>
#alert_box
{
width: 200px;
height: 200px;
background-color: red;
display: none;
position: absolute;
}
</style>
<body>
<div id="alert_box"></div>
<button id="btn">弹窗</button>
<script>
var width=documentdocumentElementclientWidth||documentbodyclientWidth;
var height=documentdocumentElementclientHeight||documentbodyclientHeight;
documentgetElementById("btn")addEventListener("click",alert_box);function alert_box()
{documentgetElementById("alert_box")style="display:inline;position:absolute;left:"+Mathfloor((width-200)/2)+"px;top:"+Mathfloor((height-200)/2)+"px;";
}
</script>
</body>
</html>
扩展资料:
注意事项
常见正常弹出窗口失效的原因:
1使用windowopen,但是定义窗口名,也就是在打开窗口传入name参数,因为windowopen只能打开唯一的窗体名为name的窗体。所以有些人会以为被浏览器拦截屏蔽了。
2使用异步的ajax,通过ajax向服务器请求,在请求完成后再打开窗口的操作,如果是使用异步的方式,将出现延时,这是浏览器就会以为不是用户触发的操作,这时只要设置同步的方式即可。笔者就是因为这个原因。
可能存在替代方案:
既然想到弹窗,固然是因为有这方面的需求,目前‘浏览器无法拦截的弹出窗口’是不可能的,能不能找到替代方案。这里提供两个方案:
1如果是弹窗广告,一般的做法是在页面document绑定click事件或者的srcoll事件,因为一般打开网页都会点一下或者是滚一下鼠标。所以就很容易的弹窗了(这里以技术出发,笔者代表绝大部分用户不接受这种广告方式)。
2如果是弹出通知信息,就更容易,不用这么鬼鬼祟祟了,直接弹出div的“窗口就行”。
楼主的代码错得都没有办法改。
1void Jump() 这是后台的函数,而 onclick 调用的是前台的javascript
2session只需要定义一次,在任何页面都可以使用这个session,只要没有timeout (一般为15分钟)
protected void Page_Load(object sender, EventArgs e)
{
Session["id"] = 1;
thisResponseRedirect("g_showaspx");
}
在g_showaspx里面直接可以调用Session["id"]
0条评论