【问题标题】:pass session variable into asp:gridview's sqldatasource select command将会话变量传递给 asp:gridview 的 sqldatasource 选择命令
【发布时间】:2012-12-26 15:54:57
【问题描述】:

我目前无法在我的 asp gridview 中获取带有会话变量的选择命令。我一直在看这里和其他网站,并没有真正遇到太多。这必须是一个我还没有遇到过的简单修复。这是我的代码

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ConnectionStrings:mySql_Connection %>"
                    SelectCommand =  "Select [Username], [Name] FROM UserPassword WHERE CustID = '" & session("CustID") & "'>
                </asp:SqlDataSource>

我什至不确定这是否接近正确。我得到the server tag is not well formed。或无效的语法。有人可以展示如何做到这一点。我一直坚持这一点,它真的让我很烦。

【问题讨论】:

    标签: sql .net vb.net


    【解决方案1】:

    你可以使用会话参数

    <asp:SqlDataSource ConnectionString="<%$ConnectionStrings:mySql_Connection %>"
                    SelectCommand =  "Select [Username], [Name] FROM UserPassword WHERE CustID     = @CustID>
     <SelectParameters>
      <asp:SessionParameter Name="CustID" SessionField="CustID"
       DefaultValue="0" />
    
     </SelectParameters>
    </asp:SqlDataSource>
    

    您也可以参考以下链接: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sessionparameter.aspx

    【讨论】:

    • 那我该怎么办 sessionParameter Name = "CustID" SessionField = "CustID"?并且选择命令是 FROM UserPassword WHERE CustID = CustID">?
    • 进行了一些编辑。在命令中给出以“@”开头的参数名称。我通常在代码后面这样做,但是给出的 MSDN 文章中的示例只有一个'?'
    • 看到我之前尝试过,得到了同样的结果“必须声明标量变量“@CustID”。”
    • 你能试试'吗?'如 MSDN 文章中给出的 msdn.microsoft.com/en-us/library/…
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2015-02-15
    • 2010-10-03
    • 1970-01-01
    • 2019-02-16
    • 2017-12-15
    • 2012-06-24
    • 1970-01-01
    相关资源
    最近更新 更多