我在asp.net页面中有一个gridview。并且每个列都有一个按钮,点击该按钮我将使用jquery打开弹出窗口。
protected void gvExpiry_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowType == DataControlRowType.DataRow))
{
Button tmp = new Button();
tmp = ((Button)e.Row.FindControl("btnTest"));
tmp.Attributes["onclick"] = "javascript:return MyFunc(" + gvExpiry.DataKeys[e.Row.RowIndex].Value.ToString() + "," + gvExpiry.DataKeys[e.Row.RowIndex].Value.ToString() + ")";
}
}
$("[id*=btnTest]").live("click", function () {
$("#modal_dialog").dialog({
close:function(event, ui){
$(this).dialog("close");
},
title: "Please enter tag",
buttons: {
Ok: function MyFunc(fileName, tag) {
//alert(fileName);
var etag = $("#<%= txttag.ClientID %>").val();
alert(typeof fileName);
alert(typeof Etag)
//other functionality
},
modal: true
});
return false;
});
但在我的MyFunc(fileName,Etag)中,我没有得到正确的参数值。我得到了对象和未定义的值
如何获取参数的正确值
答案 0 :(得分:0)
尝试在函数调用中添加单引号,函数认为文本是变量,而不是字符串。
tmp.Attributes["onclick"] = "javascript:return MyFunc('" + gvExpiry.DataKeys[e.Row.RowIndex].Value.ToString() + "','" + gvExpiry.DataKeys[e.Row.RowIndex].Value.ToString() + "')";