首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用代码块选择User.Identify.Name

使用代码块选择User.Identify.Name
EN

Stack Overflow用户
提问于 2011-12-01 13:32:49
回答 2查看 875关注 0票数 1

我的SqlDataSource SelectCommand在我的.aspx页面上。

代码语言:javascript
复制
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
     ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
     SelectCommand="SELECT * FROM [UserResult]"
     OnSelecting="SqlDataSource1_Selecting">
</asp:SqlDataSource>

此语句将使表UserResult中的数据列表成为grep。

但是,我只想列出属于用户的特定结果。

我在UserResult表中附加了一个列,它是username,我试图形成这样的sql语句,但是它似乎搜索用户User.Identity.nAME

代码语言:javascript
复制
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
     ConnectionString="<%$ ConnectionStrings:SODConnectionString %>"
     SelectCommand="SELECT * FROM [UserResult] WHERE [username] LIKE 'User.Identity.Name'";"
     OnSelecting="SqlDataSource1_Selecting">
</asp:SqlDataSource>

我能知道怎么做吗?

更新:

根据Curt的解决方案,我试图实现以下几点:

代码语言:javascript
复制
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
     ConnectionString="<%$ ConnectionStrings:SODConnectionString %>"
     SelectCommand="SELECT * FROM [UserResult] WHERE [username]=@username"
     OnSelecting="SqlDataSource1_Selecting">
     <SelectParameters>
        <asp:Parameter Name="username" Type="String" DefaultValue='<%=User.Identity.Name %>' />
     </SelectParameters>
</asp:SqlDataSource>

但是,我仍然无法根据用户名检索数据。

我尝试将用户名硬编码到username参数中,它起了作用:

有人能帮忙吗?

代码语言:javascript
复制
<asp:Parameter Name="username" Type="String" DefaultValue="james" />
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-01 13:37:11

您的语句正在寻找User.Identity.Name,因为这是一个字符串。

尝试使用代码块:

代码语言:javascript
复制
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
     ConnectionString="<%$ ConnectionStrings:SODConnectionString %>"
     SelectCommand="SELECT * FROM [UserResult] WHERE [username]=@username"
     OnSelecting="SqlDataSource1_Selecting">
     <SelectParameters>
        <asp:Parameter Name="username" Type="String" DefaultValue='<%=User.Identity.Name %>' />
     </SelectParameters>
</asp:SqlDataSource>

嵌入式代码块在ASP.NET网页中的应用

票数 2
EN

Stack Overflow用户

发布于 2012-02-17 17:52:47

没有必要在.aspx文件中声明默认值。只能添加到文件后面的代码中。

代码语言:javascript
复制
protected void Page_Init(object sender, EventArgs e)
{
    SqlDataSource1.InsertParameters["UserName"].DefaultValue = User.Identity.Name;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8342189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档