您好我有以下代码,我在LinkButton点击调用View_Date Javascript函数。 OverwriteType是UnDefined吗?
<Columns>
<asp:BoundField DataField="keyId" HeaderText="Key" />
<asp:BoundField DataField="keyIdValue" HeaderText="value" />
<asp:BoundField DataField="overWriteType" HeaderText="Overwrite" Visible="false" />
<asp:TemplateField HeaderText="Overwrite" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<itemstyle width="5%" />
<asp:LinkButton CssClass="l_link" ID="lnkView" runat="server"
DataTextField="overWriteType"
CommandName="overWriteType"
CommandArgument='<%# Eval("overWriteType") %>' Text='<%# Eval("overWriteType") %>'
OnClientClick='<%#string.Format("return view_Data(\"{0},{1}\");", DataBinder.Eval(Container.DataItem, "keyId"), DataBinder.Eval(Container.DataItem, "overWriteType")) %>'
>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
这是Javascript函数。
function view_Data(keyId, overWriteType) {
alert(overWriteType); //This value is undefined
var podUrl = shipList.options[shipList.selectedIndex].value;
window.open("OverwriteConfiguration.aspx?KeyId=" + keyId + "&podURL=" + podUrl + "&overWriteType=" + overWriteType, 'ViewChange',
'height=540,width=750,left=150,top=150,screenX=0,screenY=100');
return false;
}
Javascript的OverWriteType参数值为未定义。 我做错了什么?
Inspect Element显示的值如下:
<a onclick="return view_Data("BIOMETRIC.Post.TaskCount,Pod");" id="gvPodKeyValues_lnkView_3" class="l_link" datatextfield="overWriteType" href="javascript:__doPostBack('gvPodKeyValues$ctl05$lnkView','')">Pod</a>
感谢您的回复。 感谢
答案 0 :(得分:0)
由于引号而不是此
,您将两个参数合二为一OnClientClick='<%#string.Format("return view_Data(\"{0},{1}\");",
DataBinder.Eval(Container.DataItem, "keyId"),
DataBinder.Eval(Container.DataItem, "overWriteType")) %>'
写这个
OnClientClick='<%#string.Format("return view_Data('{0}','{1}');",
DataBinder.Eval(Container.DataItem, "keyId"),
DataBinder.Eval(Container.DataItem, "overWriteType")) %>'
然后你不需要逃避引号,现在你有两个参数