更新SqlDataSource SelectCommand客户端

时间:2013-05-30 11:26:55

标签: c# asp.net gridview

这是我第一次尝试建立自己的网站,如果这是一个愚蠢的问题,请提前道歉..

我有一个从SqlDataSource填充的gridview。我还有一个控件,AutopostBack=True根据更新后控件的内容更新gridview。

到目前为止我的代码是(我改变了真实的字段名称!)

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();
        }

    }

到目前为止,这在测试时效果很好。但是,我不确定的是,如果有多个用户使用此页面,这会导致问题,因为它正在运行服务器端。例如,如果1个用户更新控件,那么每个其他用户在第一次访问页面时是否也会在gridView中看到该选择?

任何人都可以提供一些关于如何使这个工作客户端的指示,因此控件中的选择不会影响其他用户吗?

1 个答案:

答案 0 :(得分:1)

  

如果1个用户更新控件,其他所有用户也会看到该控件   首次进入页面时在gridView中选择?

ASP.net为每个用户呈现新页面,由一个用户更改select命令不会影响其他用户。如果你从数据库或共享文件等获得选择命令..并由一个用户更新,将看到所有其他人的更改