可以';t从会话中检索值
本文关键字:会话 检索 可以 | 更新日期: 2023-09-27 18:24:14
我想将会话Id变量传递给SQLDataSource SelectParameter作为:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:conString %>"
SelectCommand="SELECT DISTINCT * FROM [employees] WHERE ([username] = @username)"
UpdateCommand="UPDATE [employees] SET first_name = @first_name, middle_name = @middle_name, last_name = @last_name, father_name = @father_name, nic = @nic, age = @age, contact_no = @contact_no, gender = @gender, join_date = @join_date, qualification = @qualification, qualification_year = @qualification_year, univ_college = @univ_college, salary = @salary, experience = @experience, remarks = @remarks, status = @status, role = @role, bank_acct_no = @bank_acct_no, bank_name = @bank_name, blood_group = @blood_group WHERE username = @username">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="<%= Response.Write((string)Session['usernameId']) %>" Name="username" QueryStringField="username"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
但出现错误,无法检索会话id。如何评估:
DefaultValue="<%= Response.Write((string)Session['usernameId']) %>"
您应该使用SessionParameter
而不是QueryStringParameter
:
<asp:SessionParameter Name="username" SessionField="usernameId" DefaultValue="fixedValue" Type="String" />
此外,DefaultValue
是固定值,并且默认值定义内的Response.Write
是无意义的。HTML本身没有什么可写的,您可以设置服务器端控件的值。
试试这个:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:conString %>"
SelectCommand="SELECT DISTINCT * FROM [employees] WHERE ([username] = @username)"
UpdateCommand="UPDATE [employees] SET first_name = @first_name, middle_name = @middle_name, last_name = @last_name, father_name = @father_name, nic = @nic, age = @age, contact_no = @contact_no, gender = @gender, join_date = @join_date, qualification = @qualification, qualification_year = @qualification_year, univ_college = @univ_college, salary = @salary, experience = @experience, remarks = @remarks, status = @status, role = @role, bank_acct_no = @bank_acct_no, bank_name = @bank_name, blood_group = @blood_group WHERE username = @username">
<SelectParameters>
<asp:SessionParameter Name="SessionVar" SessionField="usernameId" ConvertEmptyStringToNull="true" />
</SelectParameters>
</asp:SqlDataSource>
或者您可以参考此链接:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sessionparameter.aspx