2013-06-26 37 views
0

這裏海傢伙是我的問題,請幫我asp.net網格視圖超鏈接值傳遞給新的窗口

我與這裏的超鏈接字段的GridView我的要求是,如果我點擊特定行的超級鏈接,我需要將該特定行值顯示在該頁面中的其他頁面中後,如果用戶點擊更新按鈕,用戶將編輯記錄值,我需要更新該記錄值並返回到上一個主頁。如果在第一窗口新窗口中點擊IAM超級鏈接應該與任何URL工具欄打開,並儘量減少像彈出式模塊化阿賈克斯ModalPopUpExtender但關閉按鈕IAM聯合國能夠戈認爲,一個幫我

的fillowing代碼defalut.aspx

<head runat="server"> 
<title>PassGridviewRow values </title> 
<style type="text/css"> 
#gvrecords tr.rowHover:hover 
{ 
    background-color:Yellow; 
    font-family:Arial; 
} 
</style> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<asp:GridView runat="server" ID="gvrecords" AutoGenerateColumns="false" 
HeaderStyle-BackColor="#7779AF" HeaderStyle-ForeColor="White" DataKeyNames="UserId" RowStyle-CssClass="rowHover"> 
<Columns> 
<asp:TemplateField HeaderText="Change Password" > 
<ItemTemplate> 
<a href ='<%#"UpdateGridviewvalues.aspx?UserId="+DataBinder.Eval(Container.DataItem,"UserId") %>'> <%#Eval("UserName") %> </a> 
</ItemTemplate> 
</asp:TemplateField> 
<asp:BoundField DataField="FirstName" HeaderText="FirstName" /> 
<asp:BoundField DataField="LastName" HeaderText="LastName" /> 
<asp:BoundField DataField="Email" HeaderText="Email" /> 
</Columns> 
</asp:GridView> 
</div> 
</form> 
</body> 
</html> 

以下代碼default.aspx.cs代碼

using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Data.SqlClient; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
if (!IsPostBack) 
{ 
BindGridview(); 
} 
} 
protected void BindGridview() 
{ 
SqlConnection con = new SqlConnection("Data Source=.;Integrated Security=SSPI;Initial Catalog=testdb1"); 
con.Open(); 
SqlCommand cmd = new SqlCommand("select * from UserDetails", con); 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
cmd.ExecuteNonQuery(); 
con.Close();   
DataSet ds = new DataSet(); 
da.Fill(ds); 
gvrecords.DataSource = ds; 
gvrecords.DataBind(); 
} 
} 

這是updategridviewvalues.aspx

<head runat="server"> 
<title>Update Gridview Row Values</title> 
<script type="text/javascript"> 
function Showalert(username) { 
alert(username + ' details updated successfully.'); 
if (alert) { 
window.location = 'Default.aspx'; 
} 
} 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<table> 
<tr> 
<td colspan="2" align="center"> 
<b> Edit User Details</b> 
</td> 
</tr> 
<tr> 
<td> 
User Name: 
</td> 
<td> 
<asp:Label ID="lblUsername" runat="server"/> 
</td> 
</tr> 
<tr> 
<td> 
First Name: 
</td> 
<td> 
<asp:TextBox ID="txtfname" runat="server"></asp:TextBox> 
</td> 
</tr> 
<tr> 
<td> 
Last Name: 
</td> 
<td> 
<asp:TextBox ID="txtlname" runat="server"></asp:TextBox> 
</td> 
</tr> 
<tr> 
<td> 
Email: 
</td> 
<td> 
<asp:TextBox ID="txtemail" runat="server"></asp:TextBox> 
</td> 
</tr> 
<tr> 
<td> 
</td> 
<td> 
<asp:Button ID="btnUpdate" runat="server" Text="Update" onclick="btnUpdate_Click" /> 
<asp:Button ID="btnCancel" runat="server" Text="Cancel" onclick="btnCancel_Click"/> 
</td> 
</tr> 
</table> 
</div> 
</form> 
</body> 
</html> 

和我updategridviewvalues.aspx.cs代碼如下

using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Data.SqlClient; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class UpdateGridviewvalues : System.Web.UI.Page 
{ 
SqlConnection con = new SqlConnection("Data Source=.;Integrated Security=SSPI;Initial Catalog=testdb1"); 
private int userid=0; 
protected void Page_Load(object sender, EventArgs e) 
{ 
userid = Convert.ToInt32(Request.QueryString["UserId"].ToString()); 
if(!IsPostBack) 
{ 
BindControlvalues();  
} 

} 

private void BindControlvalues() 
{ 
con.Open(); 
SqlCommand cmd = new SqlCommand("select * from UserDetails where UserId=" + userid, con); 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
cmd.ExecuteNonQuery(); 
con.Close(); 
DataSet ds = new DataSet(); 
da.Fill(ds); 
lblUsername.Text = ds.Tables[0].Rows[0][1].ToString(); 
txtfname.Text = ds.Tables[0].Rows[0][2].ToString(); 
txtlname.Text = ds.Tables[0].Rows[0][3].ToString(); 
txtemail.Text = ds.Tables[0].Rows[0][4].ToString(); 
} 

protected void btnUpdate_Click(object sender, EventArgs e) 
{ 
con.Open(); 
SqlCommand cmd = new SqlCommand("update UserDetails set FirstName='" + txtfname.Text + "',LastName='" + txtlname.Text + "',Email='" + txtemail.Text + "' where UserId=" + userid, con); 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
int result= cmd.ExecuteNonQuery(); 
con.Close(); 
if(result==1) 
{ 
ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowSuccess", "javascript:Showalert('"+lblUsername.Text+"')", true); 
} 
} 

protected void btnCancel_Click(object sender, EventArgs e) 
{ 
Response.Redirect("~/Default.aspx"); 
} 
} 

我的要求是新的窗口應該來像彈出窗口,具有了url和關閉按鈕新窗口 我的數據庫表是

ColumnName     DataType 
------------------------------------------- 
UserId     Int(set identity property=true) 
UserName     varchar(50)     
FirstName    varchar(50) 
LastName     varchar(50) 
Email     Varchar(50) 

回答

0

有很多jQuery的領域選擇一臺主機:

jQueryUI的的dialog

Wijmo的Dialog

SimpleModal

如果你已經使用jQuery,jQueryUI的的選擇可能是一個不錯的選擇。 Wijmo也是jQueryUI兼容/友好的(使用相同的主題CSS類名稱和模式),所以它也很適合。

所以這種取決於你想要的。非常簡單的東西 - 也許jQueryUI。華麗/漂亮 - SimpleModal。更復雜但jQueryUI友好 - Wijmo。

相關問題