Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 无objectdatasource的GridView编辑模式_Asp.net_Data Binding - Fatal编程技术网

Asp.net 无objectdatasource的GridView编辑模式

Asp.net 无objectdatasource的GridView编辑模式,asp.net,data-binding,Asp.net,Data Binding,在不使用对象数据源的情况下,可以强制使用网格视图编辑模式,我设置了EditIndex,但编辑模板在更改到ObjectDataSource的绑定之前不会显示 谢谢你是说设置吗?因为您必须对gridview进行数据绑定,否则将无法显示任何项目。我不知道您是否指这样的示例,但我希望它会有所帮助: <asp:GridView ID="GridView1" runat="server" OnRowEditing="GridView1_RowEditing" OnRowUpdating="G

在不使用对象数据源的情况下,可以强制使用网格视图编辑模式,我设置了EditIndex,但编辑模板在更改到ObjectDataSource的绑定之前不会显示


谢谢

你是说设置吗?因为您必须对gridview进行数据绑定,否则将无法显示任何项目。

我不知道您是否指这样的示例,但我希望它会有所帮助:

<asp:GridView ID="GridView1" runat="server" OnRowEditing="GridView1_RowEditing" 
    OnRowUpdating="GridView1_RowUpdating" 
    onrowcancelingedit="GridView1_RowCancelingEdit">
    <Columns>
        <asp:CommandField EditText="Edit" UpdateText="Update" ShowEditButton="true" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:Label ID="lbl" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
            </ItemTemplate>
            <EditItemTemplate>
                <asp:TextBox ID="txt" runat="server" Text='<%# Eval("Name") %>'></asp:TextBox>
            </EditItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

代码隐藏:

public partial class _Default : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            GridView1.DataSource = ItemRepo.GetItemList();
            GridView1.DataBind();
        }
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        GridView1.DataSource = ItemRepo.GetItemList();
        GridView1.DataBind();
    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        GridView1.EditIndex = -1;
        GridView1.DataSource = ItemRepo.GetItemList();
        GridView1.DataBind();
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        GridView1.DataSource = ItemRepo.GetItemList();
        GridView1.DataBind();
    }
}

class Item
{
    public string Name { get; set; }
}
class ItemRepo
{
    public static List<Item> GetItemList()
    {
        List<Item> list = new List<Item>();
        list.Add(new Item() { Name = "Item1" });
        list.Add(new Item() { Name = "Item2" });
        list.Add(new Item() { Name = "Item3" });
        list.Add(new Item() { Name = "Item4" });
        list.Add(new Item() { Name = "Item5" });
        return list;
    }
}
public分部类\u默认值:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
GridView1.DataSource=ItemRepo.GetItemList();
GridView1.DataBind();
}
}
受保护的无效GridView1_行编辑(对象发送方,GridViewEditEventArgs e)
{
GridView1.EditIndex=e.NewEditIndex;
GridView1.DataSource=ItemRepo.GetItemList();
GridView1.DataBind();
}
受保护的无效GridView1_行更新(对象发送方,GridViewUpdateEventArgs e)
{
GridView1.EditIndex=-1;
GridView1.DataSource=ItemRepo.GetItemList();
GridView1.DataBind();
}
受保护的无效GridView1\u行取消编辑(对象发件人,GridViewCancelEditEventArgs e)
{
GridView1.EditIndex=-1;
GridView1.DataSource=ItemRepo.GetItemList();
GridView1.DataBind();
}
}
类项目
{
公共字符串名称{get;set;}
}
类别项目报告
{
公共静态列表GetItemList()
{
列表=新列表();
添加(新项(){Name=“Item1”});
添加(新项(){Name=“Item2”});
添加(新项(){Name=“Item3”});
添加(新项(){Name=“Item4”});
添加(新项(){Name=“Item5”});
退货清单;
}
}
我认为您的问题可能不是在设置editindex后对gridview进行数据绑定