【问题标题】:asp.net binding problemasp.net绑定问题
【发布时间】:2010-10-25 20:07:50
【问题描述】:

我的代码中有以下属性

public string Firstname {get;set;}

当我想将它绑定到某个文本框时,我会执行以下操作:

<asp:TextBox runat="server" ID="txtFirstname" Text='<%# Bind("Firstname") %>'/>

然后我希望在我的 Presenter 中设置我的 Firstname 属性(因为我想处理它,例如保存这个值)中的这个文本框中的值。 为什么它不起作用? 编辑 这是aspx

<formview runat="server" ID="myFormView">
                <p>Firstname <asp:TextBox ID="txtFirstName"  runat="server" Text='<%# Eval("Firstname") %>' /></p>
                <p>Lastname <asp:TextBox ID="txtLastName" runat="server" /></p>
                <input type="button" title="send" runat="server" id="btnSend" />
            </formview>

【问题讨论】:

  • 我发布了所有需要的东西。后面的代码中没有设置其他东西(除了单击提交按钮时调用的方法)
  • 你是在 Page_Load 中调用 Page.DataBind() 吗?
  • 我们需要更多信息。其他控件是否按预期具有约束力?这是在回发中发生的吗?是formview中的文本框吗?如果是这样,formview 是否处于正确模式?等等。一些标记可能会有所帮助。
  • 您可能应该向我们展示您正在使用的实际标记和代码...formview 没有ID 或数据源。如果它的 ID 会让我相信您正在手动设置代码中的数据源,这可能是问题的一部分,具体取决于您的操作方式。如果您不想发布机密信息,请更改 ID 并仅隐藏机密信息。

标签: asp.net data-binding


【解决方案1】:

它将在页面加载时绑定,但您必须在标记或代码中告诉它要绑定的内容。你没有说你在哪里或如何存储你的数据,听起来你正在尝试插入新数据,所以......

这是关于 sqldatasource 的教程。 SQL Datasource Tutorial

这是关于表单视图的教程: Formview Tutorial

这是一个简单的我写的...(注意:我没有测试下面的代码,所以如果我忘记了我的道歉,但它应该给你一个好的开始)。

 <asp:SqlDataSource ID="SqlDataSource1" 
    runat="server" 
    ConnectionString="Connection string for your database here." 
    SelectCommand="SELECT FirstName, LastName FROM YourTable"
    >
</asp:SqlDataSource>

    <asp:FormView ID="frmYourForm" DefaultMode="Insert" runat="server" DataSourceID="SqlDataSource1">
        <EditItemTemplate>
            <asp:TextBox ID="txtFirstName" runat="server" Text='<%# Bind("FirstName") %>'></asp:TextBox>
            <br />
            <asp:TextBox ID="txtLastName" runat="server" Text='<%# Bind("LastName") %>'></asp:TextBox>
            <asp:LinkButton ID="LinkButton1" CommandName="Update" runat="server">Update</asp:LinkButton>
        </EditItemTemplate>
        <InsertItemTemplate>
            <asp:TextBox ID="txtFirstName" runat="server" Text='<%# Bind("FirstName") %>'></asp:TextBox>
            <br />
            <asp:TextBox ID="txtLastName" runat="server" Text='<%# Bind("LastName") %>'></asp:TextBox>
            <asp:LinkButton ID="LinkButton1" CommandName="Insert" runat="server">Insert</asp:LinkButton>
            </InsertItemTemplate>
    </asp:FormView>    

编辑: 修复了教程的链接...我没有意识到原始链接没有在 formview 上显示信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多