加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – SqlDataSource在变量后面插入代码

发布时间:2020-12-16 09:51:49 所属栏目:asp.Net 来源:网络整理
导读:我有以下SqlDataSource asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="%$ConnectionStrings:orangefreshConnectionString1 %" InsertCommand="INSERT INTO [Chat] ([Username],[Message]) VALUES (@Username,@Message)" SelectCo
我有以下SqlDataSource

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ConnectionStrings:orangefreshConnectionString1 %>" 
        InsertCommand="INSERT INTO [Chat] ([Username],[Message]) VALUES (@Username,@Message)" 
        SelectCommand="SELECT [Id],[Username],[Message],[Date] FROM [Chat] ORDER BY [Id]" >
        <InsertParameters>
            <asp:Parameter Name="Message" Type="String" />
            <asp:Parameter Name="Date" Type="DateTime" /> 
            <asp:Parameter Name="Username" Type="String" />
        </InsertParameters>
    </asp:SqlDataSource>

其中控制以下FormView:

<asp:FormView ID="FormView1" runat="server" DefaultMode="Insert"
        OnItemInserted="fv_ItemInserted" RenderOuterTable="False" 
            DataSourceID="SqlDataSource1">
        <InsertItemTemplate>
            <asp:Panel ID="Panel1" runat="server" DefaultButton="Button1">
            <asp:TextBox ID="TextBox1" runat="server" CssClass="chattxtbox"
            Text='<%# Bind("Message") %>' autocomplete="off"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" CommandName="insert" style="display:none" Text="Button" OnClick="insertUser"/>
            </asp:Panel>
        </InsertItemTemplate>
        </asp:FormView>

我希望变量的内容能够进入Username列,所以在Button1上我设置了以下事件:OnClick =“insertUser”

protected void insertUser(object sender,EventArgs e)
    {
        string username1 = User.Identity.Name;
        SqlDataSource1.InsertParameters.Add("Username",username1);
        SqlDataSource1.Insert();
    }

这不起作用,我根本没有得到任何SQL错误消息,这是正确的方法吗?我哪里出错了?

解决方法

将插入参数更改为SessionParameter.

<InsertParameters>
   <asp:Parameter Name="Message" Type="String" />
   <asp:Parameter Name="Date" Type="DateTime" /> 
   <asp:Parameter Name="Username" Type="String" />
   <asp:SessionParameter Name="Username" SessionField="Username" Type="String" />
</InsertParameters>

在Page_Load处理程序中,

Session["Username"]=User.Identity.Name;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读