c# - ServerTags 在 OnClientClick 中不起作用

标签 c# asp.net javascript server-tags

<asp:button runat="server" Text="Save as" OnClick="btnSave_click" 
OnClientClick="if(!Check('<% # tb.ClientID %>')) return false; return Object();" 
CausesValidation="false"></asp:button>

<asp:TextBox runat="server" ID="tb"></asp:TextBox>

服务器标签在这里不起作用。我花了 1-2 个小时来寻找一些方法来完成这项工作,但我什么也没找到。

服务器标签适用于:

<OnClientClick="JSFunc();"

<script type="text/javascript">
    function JSFunc()
    {
         var el = document.getElementById('<% # tb.ClientID %>');
         //some actions with el here
    }
</script>

或者其他用c#的东西。

没有办法让服务器标签内联工作吗? (第一个例子)

ps。抱歉英语不好

最佳答案

首先在你的 javascript 中应该是:

<%= tb.ClientID %>

注意“=”符号

其次,如果您希望内联执行此操作,还必须在 page_load 上调用 DataBind() 方法。

关于c# - ServerTags 在 OnClientClick 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3179818/

相关文章:

javascript - 使提交 <button> 在 <form> block 之外工作?

c# - C#中的 `Fields`和 `Properties`有什么区别?

c# - Odata V4 $Select after $expand 一对一关系

javascript - 为什么 "null"会增加数组的长度,即使它代表空值?

c# - ASP.NET CommandArgument Eval 可以包含 2 列吗?

asp.net - 使用WCAT对ASP.NET/IIS进行压力测试

javascript - 解析问题

c# - 从事件处理程序访问对象

c# - 将类作为参数发送到线程?

asp.net - 防止用户在同一行上工作