我用一个GridView控件绑定上了一些数据,然后在GridView控件的RowDataBound事件中调用了一个javascript脚本,我先把RowDataBound事件中的代码写上来
protected void GridViewShow_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex > -1)
{
DataRowView dr = e.Row.DataItem as DataRowView;
string a = dr["_id"].ToString();
e.Row.Attributes.Add("onclick", "cc('" + a + "')");
}
}
这个事件中的最后一行是调用前面的js脚本的一个方法cc()的,方法带一个参数,就是现在传的变量a,并且我试过了,在我点击GirdView的时候会触发这个onclick事件,同时也能取到我传进去的参数值,下面是我写的js脚本中的代码,是用来弹出一个新窗体的
function cc(_id)
{
var val = window.showModelessDialog('page.aspx',window,'dialogWidth:800px;dialogHeight:700px;center:yes;help:no;resizable:no;status:no;scrollbars:yes');
}
<SCRIPT language="JavaScript">
function getproid(){
var request = {
QueryString : function(val) {
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
}
}
// 你可以用 request.QueryString("参数名"), 像这样得到各自的参数
var ys = request.QueryString("ys");
alert(ys);
}
</SCRIPT>
你可以传多个参数据,用起来和c#的Request.QueryString[""]一样。很好用,网上方法很多,但我在项目中一直用这个
原来是传参数啊,晕,洋洋洒洒一大段。。。
'page.aspx?id='+_id
json