Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET-将C#变量传递给HTML_C#_Asp.net - Fatal编程技术网

ASP.NET-将C#变量传递给HTML

ASP.NET-将C#变量传递给HTML,c#,asp.net,C#,Asp.net,我试图将C#中声明的变量传递给html。这些变量都在代码隐藏中声明为公共的 这是我正在使用的HTML代码: <asp:TextBox ID="TextBoxChildID" Text='<%= Child_ID %>' runat="server" Enabled="false"></asp:TextBox> 问题是当页面加载时,文本框中会出现文本“”,而不是变量中的值 有什么问题吗?所有这些都假设这只是页面上某个地方的文本框,而不是数据绑定控件中的文本

我试图将C#中声明的变量传递给html。这些变量都在代码隐藏中声明为公共的

这是我正在使用的HTML代码:

<asp:TextBox ID="TextBoxChildID" Text='<%= Child_ID %>' runat="server" Enabled="false"></asp:TextBox>

问题是当页面加载时,文本框中会出现文本“”,而不是变量中的值


有什么问题吗?

所有这些都假设这只是页面上某个地方的文本框,而不是数据绑定控件中的文本框。如果文本框是中继器中itemTemplate的一部分,并且子项ID因数据行而异,那么所有这些都是不正确的

改为这样做:

<asp:TextBox ID="TextBoxChildID"  runat="server" Enabled="false"><%= Child_ID %></asp:TextBox>

变量必须首先是public。以及:

'<%# Child_ID %>' 
“”

Page.RegisterStartupScript(Guid.NewGuid().ToString(),
“abc();”;
在HTML中:

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

这将是最好的方法,它会创建一个带有值的隐藏输入。

我尝试了你的建议。然而,现在文本框中似乎什么也没有出现:梭利,我自己搞错了。在这种情况下也不起作用。应该是现在。如果是这样的话,去投票表决我的问题的答案-那个家伙做了很好的解释,他应该得到分数。再看看这个答案上的注释-有一个链接指向一些类似的表达式,它们很有用。它给了我一个错误:代码块在此上下文中不受支持谢谢你的帮助:)我解决了问题:)问题是什么?你是怎么解决的?我很确定它只需要被保护。作为一个好的实践,应该将正确的值而不是变量传递给HTML。因为有一个直接的继承保护变量也可以工作。
'<%# Child_ID %>' 
<script type="text/javascript">
    function abc()
    {
        var id = document.getElementById('txtTextBox');
        id.value=<%=MyProperty %>;
        alert(id.value);
    }
</script>
protected int MyProperty
{
    get
    {
        return 1;
    }
}
Page.RegisterStartupScript(Guid.NewGuid().ToString(), 
 "<script language = 'javascript'>abc();</script>");
<asp:HiddenField ID="HiddenField1" runat="server" />
protected void Page_Load(object sender, EventArgs e)
{
    HiddenField1.Value = Child_ID;
}