ServerTags在OnClientClick中不起作用

时间:2010-07-05 13:24:47

标签: 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。对不起英文不好

2 个答案:

答案 0 :(得分:2)

首先在你的javascript中应该是:

<%= tb.ClientID %>

请注意“=”符号

其次,如果您希望以内联方式进行操作,则还需要在page_load上调用DataBind()方法。

答案 1 :(得分:1)

使用表达式构建器,您不需要调用数据绑定,并且可以很容易地内联它。

请参阅here