ASP.NET 1.1中的用户控件公共共享变量未按预期工作

时间:2008-09-29 13:50:48

标签: asp.net controls

假设我有一个包含一些用户控件的Web表单。我的“主”Web表单的标题标记是在其中一个用户控件中生成的。将此数据传递到Web表单目前就是这样完成的。

Public Sub SetPageValues(ByVal sTitle As String, ByVal sKeywords As String, ByVal sDesc As String)
    MySystem.Web.UI.Main.PageSettings(sKeywords, sDesc, sTitle)
End Sub

Main是Web表单的名称。这是在Main中设置该值的子。

 Public Shared Sub PageSettings(ByVal strKeywords As String, ByVal strDesc As String, ByVal strTitle As String)
    Dim _lblTitle As System.Web.UI.webcontrols.Literal = lblTitle
    Dim _lblMetaDesc As System.Web.UI.webControls.Literal = lblMetaDesc
    Dim _lblMetaKeywords As System.Web.UI.WebControls.Literal = lblMetaKeywords
    Dim _lblMetatitle As System.Web.UI.WebControls.Literal = lblMetaTitle
    _lblTitle.Text = strTitle
    _lblMetaDesc.Text = "<meta name=""description"" content=""" + strDesc + """>"
    _lblMetaKeywords.Text = "<meta name=""keywords"" content=""" + strKeywords + """>"
    _lblMetatitle.Text = "<meta name=""title"" content=""" + strTitle + """>"
End Sub

在完成所有这些后,我们运行池内存并每400分钟回收一次,但页面标题已损坏并显示不正确。有没有人有任何想法,除了转移到新版本.net?

通过在用户控件中创建属性,现在可以正确传递值。

1 个答案:

答案 0 :(得分:1)

就个人而言,这就是我要做的。 首先 - 将TITLE更改为HTML.GenericControl 在ASPX方面,它看起来像这样:

<title runat="server" id="title" />

然后,我将META标签修改为html通用控件

<meta name="description" content="description" id="description" runat="server" />
<meta name="keywords" content="keys" id="keywords" runat="server" /> 

此时,您可以修改如下值:

title.InnerText = "This Title"
keywords.Attributes("content") = "key,word"
description.Attributes("content") = "A demonstration of Setting title and meta tags" 
相关问题