Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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 获取<;中用户名文本框的值;asp:登录>;布局模板_Asp.net_Textbox_Webforms - Fatal编程技术网

Asp.net 获取<;中用户名文本框的值;asp:登录>;布局模板

Asp.net 获取<;中用户名文本框的值;asp:登录>;布局模板,asp.net,textbox,webforms,Asp.net,Textbox,Webforms,我刚刚开始使用ASP.NET WebForms(VS 2012)创建一个新的Web应用程序。在该项目中,我有一个带有文本框的Login.aspx页面(由VS自动创建): 我得到一个错误,说明用户名不存在。在Login.Designer.cs中,未声明文本框 在designer上,当我选择文本框时,它在属性下拉列表中标识为: Unnamed1.LayoutTemplate.Username 这是我在VS2012的第一个项目;我在VS2008或更早的版本中没有遇到过此问题。这里有什么不同吗?试试这

我刚刚开始使用ASP.NET WebForms(VS 2012)创建一个新的Web应用程序。在该项目中,我有一个带有文本框的Login.aspx页面(由VS自动创建):

我得到一个错误,说明用户名不存在。在Login.Designer.cs中,未声明文本框

在designer上,当我选择文本框时,它在属性下拉列表中标识为:

Unnamed1.LayoutTemplate.Username
这是我在VS2012的第一个项目;我在VS2008或更早的版本中没有遇到过此问题。这里有什么不同吗?

试试这个

string username=Username.Text;
就这样吧

stringusername=Server.Html.Encode(username.Text);

有时构建->重建会修复类似的错误

在template属性未标记为
TemplateInstance(TemplateInstance.Single)
属性之前,您无法访问templated控件的子控件。这就是ASP.NET模板控件的工作方式


在这种特殊情况下,您可以使用登录控件的
UserName
属性。在后台,登录控件将搜索自己的LayoutTemplate,例如带有
用户名
ID的
IEditableTextControl
控件。

首先使用设计器将asp:Login控件转换为模板。 这适用于登录时添加了模板的情况:

HtmlGenericControl ChooseDiv = Login1.FindControl("ChooseFireDepartment") as HtmlGenericControl;
ChooseDiv.Visible = false;
var ddlList = Login1.FindControl("myDdlList") as DropDownList;
...
ddlList.DataBind();
这适用于添加到同一模板的下拉列表:

HtmlGenericControl ChooseDiv = Login1.FindControl("ChooseFireDepartment") as HtmlGenericControl;
ChooseDiv.Visible = false;
var ddlList = Login1.FindControl("myDdlList") as DropDownList;
...
ddlList.DataBind();

我想你应该再次删除并拖放文本框,或者在designer.csTry重新启动VS中声明它,当设计器文件无法正确生成时,这通常对我有效。用户名文本框是否放置在asp:Login控件中?@AdnanQ我尝试过拖放,但它不起作用。也没有宣布。我按照freefaller的建议多次尝试重新启动VS,但没有任何改变。@YuriyRozhovetskiy是的,它被放在asp.LoginTried下。。。不工作。问题是没有声明用户名。