Fab*_*ian 2 c# asp.net web-user-controls
很惊讶,我自己也找不到这个,但无论如何.假设我使用我的网络用户控件,如下所示:
<myprefix:mytag userid="4" runat="server">Some fancy text</myprefix:mytag>
Run Code Online (Sandbox Code Playgroud)
如何从代码隐藏("一些花哨的文本")中访问标签内的文本?期待它通过this.Text,this.Value或类似的东西暴露.
编辑:我甚至在尝试使用它的页面上收到以下警告: 元素'mytag'的开始和结束标记之间不允许有内容.
EDIT2:
public partial class mytag: UserControl
{
public int ItemID { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
}
}
Run Code Online (Sandbox Code Playgroud)
sch*_*and 10
我假设您的自定义控件具有一个名为Textstring类型的属性.如果您然后声明此属性具有持久性模式"InnerDefaultProperty",您应该得到您正在寻找的内容.
例如
/// <summary>
/// Default Text property ("inner text" in HTML/Markup)
/// </summary>
[PersistenceMode(PersistenceMode.InnerDefaultProperty)]
public string PropertyTest
{
get
{
object o = this.ViewState["Text"];
if (o != null)
{
return (string)o;
}
return string.Empty;
}
set
{
this.ViewState["Text"] = value;
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
要避免"不允许使用文字内容",您必须通过添加[ParseChildren(true, "PropertyTest")]到类定义来帮助解析器(请参阅MSDN).
当然,你需要一个可写的属性(即它需要一个我之前为了简短而省略的setter).
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |