asp.net DataGrid控件中彈出詳細(xì)信息窗口
更新時(shí)間:2008年12月24日 23:53:15 作者:
在DataGrid控件里單擊某一行的超級鏈接時(shí),彈出一個(gè)新的頁面顯示出該行的詳細(xì)信息
在DataGrid控件中添加超鏈接如下步驟:
(1) 在"設(shè)計(jì)"視圖中,選擇DataGrid控件,然后單擊"屬性"窗口底部的"屬性生成器"鏈接。
(2) 在"DataGrid屬性"對話框中單擊"列"選項(xiàng)卡。
(3) 在"可用列"選項(xiàng)框中,選擇"超級鏈接列"并單擊"添加"按鈕。如下圖進(jìn)行添加超級鏈接列的設(shè)置。

(4) 若要將數(shù)據(jù)字段用作目標(biāo)頁URL的源,請從"URL字段"文本框中填寫該字段名。在這種情況上,可以使用
"URL 格式字符串"選項(xiàng)框?yàn)樵摮夋溄游谋局付ǜ袷皆O(shè)置表達(dá)式。
"URL格式字符口串"目標(biāo)URL為:javascript:varwin=window.open('detail.aspx?ID={0}',null,'width=300,height=200');window.Close();
分別創(chuàng)建兩個(gè)頁面,一個(gè)用來添加DataGrid控件并設(shè)置超級鏈接列,而后者是被彈出的頁面,后者頁面的頁面代碼好下:
<form id="Form1" method="post" runat="server">
<FONT face="宋體">
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 32px" cellSpacing="0"
cellPadding="1" width="300" border="0">
<TR>
<TD style="WIDTH: 65px">姓名:</TD>
<TD>
<asp:TextBox id="tbxName" runat="server" Width="184px"></asp:TextBox></TD>
</TR>
<TR>
<TD style="WIDTH: 65px">生日:</TD>
<TD>
<asp:TextBox id="tbxBri" runat="server" Width="184px"></asp:TextBox></TD>
</TR>
<TR>
<TD style="WIDTH: 65px">地址:</TD>
<TD>
<asp:TextBox id="tbxAdd" runat="server" Width="184px"></asp:TextBox></TD>
</TR>
<TR>
<TD style="WIDTH: 65px">城市:</TD>
<TD>
<asp:TextBox id="tbxCity" runat="server" Width="184px"></asp:TextBox></TD>
</TR>
</TABLE>
</FONT>
</form>
后者頁面的后臺(tái)代碼:
頁面的載入事件
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置用戶代碼以初始化頁面
if(!IsPostBack)
{
this.DataGridBind();
}
}
數(shù)據(jù)綁定事件
private void DataGridBind()
{
string EmpID = Request["ID"].ToString();
//調(diào)用Web.config數(shù)據(jù)庫連接字符
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
SqlCommand cmd = new SqlCommand("select LastName,FirstName,BirthDate,Address,City from Employees where EmployeeID="+EmpID.ToString(),conn);
conn.Open();
try
{
SqlDataReader dr = cmd.ExecuteReader();
if(dr.Read())
{
this.tbxName.Text = dr["LastName"].ToString();
this.tbxBri.Text = Convert.ToDateTime(dr["BirthDate"]).ToLongDateString();
this.tbxAdd.Text = dr["Address"].ToString();
this.tbxCity.Text = dr["City"].ToString();
}
}
catch(Exception e)
{
Response.Write(e.ToString());
}
finally
{
conn.Close();
}
}
編譯運(yùn)行點(diǎn)擊設(shè)置超級鏈接列就可以彈出相應(yīng)行的詳細(xì)信息
(1) 在"設(shè)計(jì)"視圖中,選擇DataGrid控件,然后單擊"屬性"窗口底部的"屬性生成器"鏈接。
(2) 在"DataGrid屬性"對話框中單擊"列"選項(xiàng)卡。
(3) 在"可用列"選項(xiàng)框中,選擇"超級鏈接列"并單擊"添加"按鈕。如下圖進(jìn)行添加超級鏈接列的設(shè)置。

(4) 若要將數(shù)據(jù)字段用作目標(biāo)頁URL的源,請從"URL字段"文本框中填寫該字段名。在這種情況上,可以使用
"URL 格式字符串"選項(xiàng)框?yàn)樵摮夋溄游谋局付ǜ袷皆O(shè)置表達(dá)式。
"URL格式字符口串"目標(biāo)URL為:javascript:varwin=window.open('detail.aspx?ID={0}',null,'width=300,height=200');window.Close();
分別創(chuàng)建兩個(gè)頁面,一個(gè)用來添加DataGrid控件并設(shè)置超級鏈接列,而后者是被彈出的頁面,后者頁面的頁面代碼好下:
<form id="Form1" method="post" runat="server">
<FONT face="宋體">
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 32px" cellSpacing="0"
cellPadding="1" width="300" border="0">
<TR>
<TD style="WIDTH: 65px">姓名:</TD>
<TD>
<asp:TextBox id="tbxName" runat="server" Width="184px"></asp:TextBox></TD>
</TR>
<TR>
<TD style="WIDTH: 65px">生日:</TD>
<TD>
<asp:TextBox id="tbxBri" runat="server" Width="184px"></asp:TextBox></TD>
</TR>
<TR>
<TD style="WIDTH: 65px">地址:</TD>
<TD>
<asp:TextBox id="tbxAdd" runat="server" Width="184px"></asp:TextBox></TD>
</TR>
<TR>
<TD style="WIDTH: 65px">城市:</TD>
<TD>
<asp:TextBox id="tbxCity" runat="server" Width="184px"></asp:TextBox></TD>
</TR>
</TABLE>
</FONT>
</form>
后者頁面的后臺(tái)代碼:
頁面的載入事件
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置用戶代碼以初始化頁面
if(!IsPostBack)
{
this.DataGridBind();
}
}
數(shù)據(jù)綁定事件
private void DataGridBind()
{
string EmpID = Request["ID"].ToString();
//調(diào)用Web.config數(shù)據(jù)庫連接字符
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
SqlCommand cmd = new SqlCommand("select LastName,FirstName,BirthDate,Address,City from Employees where EmployeeID="+EmpID.ToString(),conn);
conn.Open();
try
{
SqlDataReader dr = cmd.ExecuteReader();
if(dr.Read())
{
this.tbxName.Text = dr["LastName"].ToString();
this.tbxBri.Text = Convert.ToDateTime(dr["BirthDate"]).ToLongDateString();
this.tbxAdd.Text = dr["Address"].ToString();
this.tbxCity.Text = dr["City"].ToString();
}
}
catch(Exception e)
{
Response.Write(e.ToString());
}
finally
{
conn.Close();
}
}
編譯運(yùn)行點(diǎn)擊設(shè)置超級鏈接列就可以彈出相應(yīng)行的詳細(xì)信息
您可能感興趣的文章:
- asp.net實(shí)現(xiàn)刪除DataGrid的記錄時(shí)彈出提示信息
- asp.net中GridView和DataGrid相同列合并實(shí)現(xiàn)代碼
- ASP.NET MVC中EasyUI的datagrid跨域調(diào)用實(shí)現(xiàn)代碼
- ASP.NET MVC使用EasyUI的datagrid多選提交保存教程
- asp.net DataGrid 中文字符排序的實(shí)現(xiàn)代碼
- asp.net DataGridView導(dǎo)出到Excel的三個(gè)方法[親測]
- 在asp.net中實(shí)現(xiàn)datagrid checkbox 全選的方法
- 決定何時(shí)使用 DataGrid、DataList 或 Repeater(ASP.NET 技術(shù)文章)
- asp.Net JS取母板頁控件值的簡單方法
- Asp.net清空控件值的方法(可自定義控件類型)
- asp.net 保存、修改沒有 runat=server控件的控件值的一個(gè)解決方案
- ASP.NET中訪問DataGrid中所有控件值的方法
相關(guān)文章
asp.net基于windows服務(wù)實(shí)現(xiàn)定時(shí)發(fā)送郵件的方法
這篇文章主要介紹了asp.net基于windows服務(wù)實(shí)現(xiàn)定時(shí)發(fā)送郵件的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了asp.net調(diào)用Windows系統(tǒng)服務(wù)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Asp.Net Core 企業(yè)微信靜默授權(quán)的實(shí)現(xiàn)
這篇文章主要介紹了Asp.Net Core 企業(yè)微信靜默授權(quán)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10.Net筆記:System.IO之windows文件操作的深入分析
本篇文章是對.Net中windows文件操作的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05編寫的vs2005水晶報(bào)表程序在vs2008下正常使用的一些實(shí)現(xiàn)方法
以前用vs2005編寫的WEB程序,現(xiàn)在使用vs2008時(shí)總是出現(xiàn)水晶報(bào)表的錯(cuò)誤,不能使用。經(jīng)過本人實(shí)踐,總結(jié)一下錯(cuò)誤原因。2009-09-09asp.net使用Repeater控件中的全選進(jìn)行批量操作實(shí)例
這篇文章主要介紹了asp.net使用Repeater控件中的全選進(jìn)行批量操作方法,實(shí)例分析了Repeater控件的使用技巧,需要的朋友可以參考下2015-01-01.NET?Core利用?AsyncLocal?實(shí)現(xiàn)共享變量的代碼詳解
在Web?應(yīng)用程序中,我們經(jīng)常會(huì)遇到這樣的場景,如用戶信息,租戶信息本次的請求過程中都是固定的,我們希望是這種信息在本次請求內(nèi),一次賦值,到處使用。本文就來探討一下,如何在.NET?Core?下去利用AsyncLocal?實(shí)現(xiàn)全局共享變量2022-04-04C# WindowsMediaPlayer 的一些用法實(shí)例
這篇文章介紹了C# WindowsMediaPlayer 的一些用法實(shí)例,有需要的朋友可以參考一下2013-09-09