ppp*_*ppp 8 javascript asp.net eval onclientclick
我的链接按钮 -
<asp:LinkButton runat="server" ID="lbtnEdit" Text="edit" OnClientClick="javascript:msgDisp('<%# Eval(LocationId).toString() %>')" />
Run Code Online (Sandbox Code Playgroud)
和javascript msgDisp是 -
<script type="text/javascript" language="javascript">
function msgDisp(lid) {
alert(lid);
}
</script>
Run Code Online (Sandbox Code Playgroud)
但它不是在pop中使用LocationId,而是整个字符串<%#......%>在弹出消息中是comin.如何在javascript中传递Eval值.
lin*_*lnk 13
您可以OnClientClick
在代码括号中构建一个字符串的全部内容,它将像您期望的那样输出.
<asp:LinkButton runat="server" ID="lbtnEdit" Text="edit"
OnClientClick='<%# "msgDisp(" + Eval("LocationId") + ");" %>' />
Run Code Online (Sandbox Code Playgroud)
这假设LocationId是一个有效数字 - 在呈现时没有引号来包装你的值,所以输出类似的东西msgDisp(hello);
会破坏.我不知道如何以这种方式解决这个问题,所以如果你必须这样做,我建议你OnClientClick
在ItemDataBound
活动期间设置服务器端.这是父母是Repeater
控件的地方.
protected void notesRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
MyClass item = (MyClass)e.Item.DataItem;
LinkButton lbtnEdit = (LinkButton)e.Item.FindControl("lbtnEdit");
lbtnEdit.OnClientClick = string.Format("msgDisp('{0}');", item.LocationId);
}
Run Code Online (Sandbox Code Playgroud)