网。 我想从gridview中选择值到文本框中,我已经使用sqlserever数据库将数据显示到gridview中。 没有其他链接对ol有帮助me.plz帮助我。
我的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 :(得分:0)
要获取所选单元格的值,您可以使用CellClick
的{{1}}事件:
gridview
答案 1 :(得分:0)
您可以将选定的值或单元格从网格视图放入会话中,然后在当前页面或任何其他所需页面的其他位置重新使用它。因此,当再次请求页面时,值会自动显示在文本框中。
:::试试这个示例代码..希望能解决您的问题:::
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 = Session [“addressValue”];
答案 2 :(得分:0)
你没有真正在MVC中使用Model。混合状态完整的webform代码和控制器会让你感到困惑。
控制器对View(aspx)一无所知所以你需要将FormCollection解析为Model to Action。
public ActionResult BranchManage(string branchname, FormCollection formData){
//.. now debug or test what formData really look like
您可以将FormCollection更改为任何用户定义的类型(模型)
学习如何在控制器和视图Getting Started with ASP.NET MVC之间解析模型。