如何使用页面加载将动态UI标签值分配给服务器端字符串?

时间:2014-04-14 07:03:19

标签: jquery asp.net

如何在页面加载时使用动态UI标签值为服务器端字符串分配?这是我的代码

//Here asp Label
<html> 
    <body>
        <asp:Label ID="dynmcHiddenLabel" runat="server" Text=""></asp:Label>
    </body>
</html>
//Javascript Code that assigning value on page load to Label
<script>
    $(document).ready(function () {
        sliderIdentification();
    });
    function sliderIdentification() {
        var typename = $('#menu li.active a').attr('name');
        $('#ctl00_dynmcHiddenLabel').text(typename);
        $('#ctl00_dynmcHiddenLabel').val(typename);
    }
</script>
//on server side - assigning label value to string value
string CategoryType = dynmcHiddenLabel.Text;

但我在CategoryType

中获得""

1 个答案:

答案 0 :(得分:0)

首先要做的事情。恕我直言,你应该在这里使用asp:HiddenField

<asp:HiddenField ID="dynmcHiddenLabel" runat="server" />

现在,如果您使用的是ASP.NET 4或更高版本,请使用ClientIDMode属性

<asp:HiddenField ID="dynmcHiddenLabel" runat="server" ClientIDMode="Static" />

并像这样调用你的函数

function sliderIdentification() {
    var typename = $('#menu li.active a').attr('name');
    $('#dynmcHiddenLabel').val(typename);
}

如果您使用的是ASP.NET VERSION 3.5或更低版本,请在ASP.NET中使用inline expressions

function sliderIdentification() {
    var typename = $('#menu li.active a').attr('name');
    $('#<%= dynmcHiddenLabel.ClientID %>').val(typename);
}

如果您特别关注使用asp:Label,请将.val改为.html,如下所示

$('#<%= dynmcHiddenLabel.ClientID %>').html(typename);

因为asp:Label呈现为span

P.S:无需在代码隐藏中更改任何内容。

相关问题