这是我第一次尝试建立自己的网站,如果这是个愚蠢的问题,请提前道歉。
我有一个网格视图,它是从SqlDataSource填充的。我还有一个控件,它有AutopostBack=True,可以根据更新后控件的内容更新网格视图。
到目前为止,我拥有的代码是(我已经更改了实名!)
testPage.aspx:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Lookup"
DataSourceID="SqlDataSource1">
<Columns>
//Column headings removed for clarity
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [Field1], [Field2],
[Field3], [Field4], [Field5], [Field6], [Field7], [Field8] FROM [Analysis]
ORDER BY [Field1], [Field2] DESC, [Field3] DESC"></asp:SqlDataSource>testPage.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
if (ctl04.Value == null)
{
SqlDataSource1.SelectCommand = "SELECT [Field1], [Field2],
[Field3], [Field4], [Field5], [Field6], [Field7], [Field8]
FROM [Analysis] ORDER BY [Field1], [Field2] DESC, [Field3]
DESC";
}
else
{
SqlDataSource1.SelectCommand = "SELECT [Field1], [Field2],
[Field3], [Field4], [Field5], [Field6], [Field7], [Field8]
FROM [Analysis] WHERE [Lookup] IN ('" +
ctl04.Text.ToString().Replace(",","','") + "') ORDER BY
[Field1], [Field2] DESC, [Field3] DESC";
}
gridView1.DataBind();
}
}到目前为止,这在测试时非常有用。但是,我不确定的是,如果说有多个用户使用此页面会导致问题,因为它正在运行服务器端。如果一个用户更新了控件,那么当第一次进入页面时,其他每个用户也会在gridView中看到这个选择吗?
有人能给出一些关于如何使这个客户端工作的提示吗?这样控件中的选择就不会影响其他用户了吗?
发布于 2013-05-30 11:38:37
如果一个用户更新了控件,那么当第一次访问页面时,其他每个用户也会在gridView中看到该选择吗?
NO
ASP.net为每个用户呈现新页面,由一个用户更改select命令不影响其他用户。如果从数据库或共享文件中获得select命令,等等。由一个用户进行更新,将看到所有其他用户的更改。
https://stackoverflow.com/questions/16834938
复制相似问题