使用javascript填充标签值。在回发后标签中的空标签?

时间:2013-05-16 06:58:50

标签: c# javascript asp.net

我有一些文字需要在点击按钮后更改。该按钮触发Javascript。此Javascript更改标签的值。当我在不同的地方检查标签的值时,它总是空的。 我在页面加载和预渲染中检查标签的值。

void Page_PreRender(object sender, EventArgs e)
{

         string siteALias = lblSiteAliasDiscription.Text; //empty
}

protected void Page_Load(object sender, EventArgs e)
{
         string siteALias = lblSiteAliasDiscription.Text; //empty
}

function setDiscription(siteAlias, discription) {
            alert(siteAlias);
            document.getElementById("ctl00_contentHolder_lblSiteAliasDiscription").InnerHTML = siteAlias;
            alert(document.getElementById("ctl00_contentHolder_lblSiteAliasDiscription").InnerHTML);

        }

两个警报都以正确的方式填充,这就是为什么我确定在Javascript运行后标签变得清晰。有没有办法读取能够读取后面代码中填充值的标签?

2 个答案:

答案 0 :(得分:4)

标签,跨度,div等Html控件不会将其值发布到服务器。 但输入控件维持视图状态的更改。

因此,您可以使用已禁用的文本框而不是标签,或使用一个或多个隐藏字段,并将相同的值分配给该隐藏的标签字段,并从后面的代码中访问该字段。

感谢。

答案 1 :(得分:1)

标签不是客户端表单的元素,您可以使用hiddenfield(其客户端元素是input type =“hidden”)或textbox(其客户端元素是input type =“text”)来执行它,代码如下:

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

<script>
    document.getElementById("<%=this.myHF.ClientID %>").value = siteAlias;
</script>

背后的代码:

string siteALias = this.myHF.Value;