我有以下代码
<input runat="server" id="Name" type="text" name="Name"/>
cmd.parameters.addwithvalue("@NAME", Name.value);
我正在尝试捕获我在控件中输入的数据,并且(Name.value)总是等于“” 无论我输入什么。我知道它们被正确映射,好像我将它切换到一个文本框它工作正常我想让这个输入工作。
EDITED 这似乎不能确定这是否是正确的方法,但这有什么原因,但Name.value不起作用?
cmd.Parameters.AddWithValue("@NAME", Request.Form["Name]);
答案 0 :(得分:1)
如果要在后面的代码中使用html元素,则必须添加runat=server
属性。
<input runat="server" id="Name" type="text" name="Name" ClientIdMode="static"/>
将ClientIdMode
设置为static
应该允许您在后面的代码中使用与html中相同的ID,只是注意不要创建冲突。
名称将被投射为HtmlInputControl
,当页面回发时,Name.Value
将具有输入的值与输入的文本。那么你可以这样做:
cmd.Parameters.AddWithValue("parameterename", Name.Value);
答案 1 :(得分:0)
runat="server"
是代码隐藏的原因。
答案 2 :(得分:0)
html控件应该在form标签内,还需要添加runat="server"
属性。然后你可以通过id访问它。
cmd.parameters.addwithvalue("parameterename", Name.Value);
请注意,如果输入ID为Name
,则无法将文字设为"name.text"
,您需要获取Value