如何使用MVC(aspx).net在文本框中获取网格视图的选定值

本文关键字:网格 获取 视图 文本 MVC 何使用 aspx net | 更新日期: 2023-09-27 18:21:20

net。我想将gridview中的选定值放入文本框中,我已经使用sqlserever数据库将数据显示到gridview中。没有其他链接在ol to me.plz帮助我。

我的BranchManage.aspx页面的aspx网格视图是:

<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 
     GridLines="None" AutoGenerateColumns="False" DataSourceID="LinqDataSource_Branch">
     <Columns>
          <asp:CommandField ShowSelectButton="True" />
          <asp:BoundField DataField="BranchName" HeaderText="BranchName" ReadOnly="True"
               SortExpression="BranchName" />
          <asp:BoundField DataField="CreateDate" HeaderText="CreateDate" ReadOnly="True"
               SortExpression="CreateDate" />
     </Columns>
  </asp:GridView>
  <asp:LinqDataSource ID="LinqDataSource_Branch" runat="server" 
       ContextTypeName="jemex.db.JemexDataContext" EntityTypeName="" 
      Select="new (BranchName, CreateDate)" TableName="Branches">
  </asp:LinqDataSource>

-----这是我的LoginController.cs:代码的一部分

public ActionResult BranchManage(string submitButton, string branchname)
{
   ViewBag.UserName = Session["username"];
   if (Session["type"].ToString() == "Admin")
   {
       switch (submitButton)
       {
           case "Create Account":
              return (Create_BranchAccount(branchname));
           case "Update Account":
              return (Update_BranchAccount());
           case "Clear":
              return (ClearBranch());
           default:
              return View();
         }
    }
    else
   {
      return View("Login");
   }
}
public ActionResult Create_BranchAccount(string branchname)
{
  //DB.Execute_Qury("INSERT INTO Branches(BranchName,CreateDate,IsDeleted) VALUES (" +
   branchname + "," + System.DateTime.Now + ",False)");
   db1.R_Insert_Branch(branchname, System.DateTime.Now);
   return View("BranchManage");
}
 public ActionResult Update_BranchAccount()
{
   SqlConnection con = new SqlConnection("Data Source=aaa-pc;Initial Catalog=logicnetclub_jemex;Integrated Security=True");
    string strSQL = "Select * from Branches";
    SqlDataAdapter dt = new SqlDataAdapter(strSQL, con);
    DataSet ds = new DataSet();
    dt.Fill(ds, "UserDetail");
    con.Close();
    GridView1.DataSource = ds;
    GridView1.DataBind();
      return View(ViewModel);
}

在update_BranchAccount中,我如何获取网格视图数据源?

如何使用MVC(aspx).net在文本框中获取网格视图的选定值

您可以将网格视图中所选的值或单元格放入会话中,然后在当前页面或任何其他所需页面的其他地方重用它。因此,当再次请求页面时,该值会自动显示在文本框中。

:::尝试此示例代码。。希望这能解决您的问题:::

 foreach (GridViewRow row in ViewData.Rows)
 {
      RadioButton rb = (RadioButton)row.FindControl("RowSelector");
      if (rb.Checked)
      {                                            
         string address = Convert.ToString(ViewData.Rows[row.RowIndex].Cells[column-index].Text);
         Session["addressValue"] = address;                   
         Response.Redirect("AnotherPage.aspx");
     }
 }

然后在update_BranchAccount,您可以使用-访问文本框值

textbox1.text=会话["addressValue"];

要获得一个选定单元格的值,可以使用gridview:的CellClick事件

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    textBox1.Text = GridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
}

您并没有真正在MVC中使用Model。混合状态完整的Web表单代码和控制器会让您感到困惑。

控制器对View(aspx)一无所知,因此需要将FormCollection作为Model解析为Action。

public ActionResult BranchManage(string branchname, FormCollection formData){
 //.. now debug or test what formData really look like

您可以将FormCollection更改为任何用户定义的类型(模型)

学习如何解析控制器和视图之间的模型ASP.NET MVC入门。