如何从 MasterPage 的代码隐藏中访问 TextArea
Posted
技术标签:
【中文标题】如何从 MasterPage 的代码隐藏中访问 TextArea【英文标题】:How to access TextArea from code-behind from a MasterPage 【发布时间】:2014-10-29 09:33:52 【问题描述】:我的内容页面中有一个 TextArea:
<textarea id="taskNotes" runat="server" class="taskNotes"></textarea>
在我的内容页面中也是一个标签:
<asp:Label runat="server" ClientIDMode="Static" ID="lblStartDate" Text="TEST"></asp:Label>
在我的 MasterPage 中,我可以像这样访问标签:
lblStartDate = (System.Web.UI.WebControls.Label)ContentMain.FindControl("lblStartDate");
如何以与访问标签相同的方式访问 TextArea?
【问题讨论】:
【参考方案1】:var txtTaskNotes = (System.Web.UI.htmlControls.HtmlTextArea)ContentMain.FindControl("taskNotes");
应该这样做。但从内容页面填充母版页中的受保护属性可能更明智。这样您就不会将母版页绑定到单个内容页面布局。
【讨论】:
var txtTaskNotes 需要是全局声明,但我不能使用var
作为全局声明:/
“全球”是什么意思?如果您希望范围是整个母版页,您可以将其设置为类的属性:msdn.microsoft.com/en-us/library/aa288470(v=vs.71).aspx【参考方案2】:
在 ASP.Net 中,您希望将 TextBox 与 TextMode="MultiLine"
一起使用。它将呈现为 TextArea。
<asp:TextBox id="TaskNotesTextBox" TextMode="MultiLine"
Columns="10" Rows="5" runat="server" />
然后您可以像访问标签一样访问它 -
var taskNotesTextBox = (TextBox)ContentMain.FindControl("TaskNotesTextBox");
【讨论】:
我的 TextArea 在它所在的 DIV 内的高度和宽度必须为 100%,并且使用 TextBox 我无法正确显示它:/ TextBox with MultiLine 与高度和宽度无关;它只是呈现 textarea 标记 - 与您的问题相同。如果你想要 100% 的高度和宽度,你需要用 CSS 来操作。以上是关于如何从 MasterPage 的代码隐藏中访问 TextArea的主要内容,如果未能解决你的问题,请参考以下文章
如何从 css 获取图像信息到 MasterPage'gridview 中?