1

aspx形式:

<asp:Table ID="viewV" runat="server">
  <asp:TableRow>
    <asp:TableHeaderCell>Name</asp:TableHeaderCell>
    <asp:TableHeaderCell>Type</asp:TableHeaderCell>
  </asp:TableRow>       
</asp:Table>

下面的代码:

vRepository getV = new vRepository();

var viewAllV = getV.GetV();

foreach (tblV singleV in viewAllV)
{
    TableRow tr = new TableRow();

    // Create four new cells for each row within the database

    TableCell vName = new TableCell();
    TableCell vType = new TableCell();

    // Attached values to each of these cells

    vName.Text = singleV.vName;
    vType.Text = singleV.tblVType.vName;

    // Add the cells to the table

    tr.Cells.Add(vName);
    tr.Cells.Add(vType);

    // Add the row to the table

    viewV.Rows.Add(tr);
}

我目前正在使用 LINQ 填充一个 asp:table,这工作正常。

public IQueryable<tblV> GetV()
{
    return (from getAllV in dc.tblV
            where getAllV.deleted != 1
            orderby getAllV.vName
            select getAllV).DefaultIfEmpty();
}

我尝试了 GridView/ListView/DetailsView 但似乎无法访问 GetV,我只能访问实际表。

我想在每一行的末尾添加一个编辑/删除按钮,以便用户可以选择他们想要编辑/删除的行。

一旦用户选择了编辑/删除按钮,这应该访问不同的视图(一个用于编辑,一个用于添加 - 在同一个 aspx 文件中)。

例如:

Name    Type

Example 1   Type 1  Edit Button Delete Button

Example 2   Type 1  Edit Button Delete Button

我希望能够为“示例 1”选择编辑按钮。这应该:

  1. 带我到“编辑视图”,
  2. 使用正确的信息自动填充两个文本字段,
  3. 使用唯一 ID(PK) 使用新信息更新行(数据库内)。

我怎么会产生多个编辑/删除按钮,这些按钮以某种方式保存该行的唯一 ID?

我认为它会是这样的:

TableCell vEdit = new TableCell();
vEdit.Button = singleV.vID;
tr.Cells.Add(vEdit);
4

1 回答 1

1

如果您真的想“硬编码”它,请使用 ASP.NET MVC。否则,您真的应该使用某种数据绑定控件。

也就是说,如果你坚持这种方法,你可能会做这样的事情:

Button editButton = new Button();
editButton.Text = "Edit";
editButton.CommandArgument = singleV.vID.ToString();
editButton.CommandName = "Edit";
editButton.OnCommand += new CommandEventHandler(EditButton_Command);

TableCell vEdit = new TableCell();
vEdit.Controls.Add(editButton);

tr.Cells.Add(vEdit);

然后从您的事件处理程序的CommandEventArgs中,您可以检索参数并相应地更改您的视图。

于 2009-08-20T09:43:26.403 回答