在内联代码中使用VB.NET共享属性:`&lt;%= <property>%&gt;`

时间:2015-06-04 12:43:56

标签: asp.net vb.net webforms

我正在使用Shared PropertyDiv添加一些文字。

我的程序步骤是:

  1. Shared Property submitted= "not submitted"中定义myclass.vb
  2. 使用div创建mymasterpage.Master<div><%=submited%></div>

  3. 使用此代码隐藏创建page1.aspx

    Protected Sub Page_Load (...)
    If action="submitted" then
    submitted="submitted"
    End If
    End Sub
    
  4. 到目前为止,一切都很好,但问题是当Master再次加载时,submited会保留其值并显示:

    <div>submitted</div>

    我需要指定submitted"submitted"的一次,下次调用submited时,它会返回"not submited"(即它的原始值)

    <div>not submitted</div>

1 个答案:

答案 0 :(得分:0)

请勿使用Shared变量或属性。

在您的网络应用程序的所有用户之间共享Shared(C#中的static)变量。想象一下,两个用户A和B同时访问您的网站。你正在做的事情可能会导致用户A看到应该是用户B的东西,反之亦然。你不会想那样的,是吗?

解决方案很简单:不要创建属性Shared。如果您在代码中访问实例(=非共享)属性时遇到问题,我建议您打开一个单独的问题。使属性共享是一个很好的解决方案。