在javascript中设置的标签文本没有在服务器端显示标签文本

时间:2014-01-23 11:54:53

标签: c# javascript asp.net updatepanel

我知道我的问题与here重复,但仍面临问题

在我的 javascript代码中,我尝试过不同的方式将文字分配到标签

 function fileuploadvalidation() {
document.getElementById("<%=lableid.ClientID%>").Text = "hello"; 
document.getElementById("<%=lableid.ClientID%>").innerHTML = "hi";
}

以及在我的.aspx页面上看到文本的用法,但是当我以前在服务器端获取该文本时,它就会变成空白。

.html网页代码

<asp:UpdatePanel ID="UpdatePanel16" runat="server"><ContentTemplate>
<asp:Button ID="btn_browse" runat="server" Text="Upload" OnClick="btn_browse_Click" OnClientClick="return fileuploadvalidation();" />&nbsp;&nbsp;
<asp:Label ID="lableid" runat="server" Text="" Style="font-size: small; font-weight: 400;font-family: Arial, Helvetica, sans-serif"></asp:Label> 
</ContentTemplate></asp:UpdatePanel>

.cs代码

protected void btn_browse_Click(object sender, EventArgs e)
{
    string abc = lableid.Text;// This is coming null
}

3 个答案:

答案 0 :(得分:2)

使用hidden-field存储您设置的值,然后在

后面的代码中访问它

添加隐藏字段

 <input type="hidden" id ="hiddenfieldid" runat="server" />

function fileuploadvalidation() {
    document.getElementById("lableid").value = "hello"; 
    document.getElementById('hiddenfieldid').value= "hello"; 
}

然后在code behind中检索它。

string abc = hiddenfieldid.value;

答案 1 :(得分:0)

我认为你想添加标签的值属性

 var lbl = document.getElementById("<%=lableid.ClientID%>")
 lbl.value = "hello"; 

答案 2 :(得分:0)

尝试使用此

 $('#lableid').val($('#lableid').val().replace($('#lableid').val(), "hello"));