2013-07-05 18 views
1

net得到gridview在文本框中的選定值。 我想從gridview中選擇值到文本框中,我已經使用sqlserever數據庫來顯示數據到gridview。 沒有其他的鏈接對我有幫助me.plz幫助我。如何使用MVC(aspx).net

我BranchManage.aspx頁的ASPX GridView的是:

<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,如何我可以獲取gridview數據源嗎?

+0

@ dav-i請不要盲目地從標題中刪除標籤。 – Danack

回答

0

你可以把從網格視圖中選擇的值或單元格成一個會話,然後地方重新使用它否則在當前頁面或任何其他需要的頁面。所以當再次請求頁面時,該值會自動顯示在文本框中。

:::試試這個示例代碼。希望可以在update_BranchAccount解決您的問題:::

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"); 
    } 
} 

然後,您可以using-

TextBox1的訪問文本框的值.text = Session [「addressValue」];

0

爲了得到一個選定單元格的值,則可以使用CellClick事件的gridview

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

你在MVC中並沒有真正使用Model。混淆狀態完整的webform代碼和控制器會讓你感到困惑。

控制器不知道任何關於View(aspx)的東西所以你需要將FormCollection解析爲Model到Action中。

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

你可以改變的FormCollection任何用戶定義類型(模型)

學習如何分析控制器和視圖Getting Started with ASP.NET MVC之間的模式。