前言:
先抱怨幾句,又上班兩天,加班氣氛漸濃!
今天專案中一問題:在使用者控制項中,需要獲取表中id欄位,進而通過資料庫操作,用gridview展現出來。然後將此使用者控制項被包含於頁面中。問題是:怎麼讓頁面載入時,其所獲取的值(ex,通過querystring),可以傳達到使用者控制項,並且可以同時展現資料?
我的模糊點在於:
解析:
經過查詢資料,現在初步探索出利用自定義控制項的「屬性」附加方法,可以實現值的傳遞!具體見**:
首先是webusercontrol的前台**:
<%
@ control language="
c#"autoeventwireup="
true
"codefile="
webusercontrol.ascx.cs
"inherits="
webusercontrol
"%>
<
asp:textbox id="
textbox1
"runat="
server
"text ="
yyy"
><
/asp:textbox>
<
asp:label id="
label1
"runat="
server
"text="
label
"><
/asp:label>
其次是webusercontrol的後台**(可見,附加屬性):
public
partial
class
webusercontrol : system.web.ui.usercontrol
set}
protected
void
page_load(
object
sender, eventargs e)
}後來是驗證頁面的前台**(附:如何引用使用者控制項):
<%
@ page language="
c#"autoeventwireup="
true
"codefile="
default.aspx.cs
"inherits="
_default
"%>
<%
@ register tagprefix ="
uc1"
tagname ="
usercontrol1
"src ="
~/webusercontrol.ascx
"%>
doctype html public
"-//w3c//dtd xhtml 1.0 transitional//en""
">
<
html xmlns="
">
<
head runat="
server
">
<
title
>
untitled page
<
/title>
<
/head>
<
body
>
<
form id="
form1
"runat="
server
">
<
div>
<
/div>
<
uc1:usercontrol1 id="
usercontrol11
"runat="
server"/
>
<
/form>
<
/body>
<
/html>
最後是驗證頁面的後台**:
public
partial
class
_default : system.web.ui.page
}附:主旨
先給使用者控制項中textbox賦初值為「yyy「,
將使用者控制項包含進頁面後,通過頁面獲取的值,進而傳遞至使用者控制項中,即textbox值重賦為
」y001「;
由上可見,可以通過附加使用者控制項屬性,實現獲取值~
注:由分步除錯,可以觀察其page_load順序是:先呼叫頁面的page_load(),然後呼叫使用者控制項的page_load()。這樣才保證在頁面的page_load()中對使用者控制項屬性賦值,然後在使用者控制項的page_load()中將其屬性值取出(此時即可將其使用,進而繫結上述的gridview問題了)。
綜述之,使用者控制項由於使用較少,並未達到熟練程度,以後再加強,呵呵~
web頁面中給使用者控制項傳遞引數
在使用者控制項中的cs 中寫乙個公共變數或者屬性,然後在頁面中給其賦值就可以了 下面的例子就充分說明了整個問題 使用者控制項的cs protected void page load object sender,eventargs e private string strpath public str...
PostBackUrl 使用者控制項頁面傳值總結
postbackurl 使用者控制項頁面傳值總結 今天在除錯郵件傳送的時候,發現了get傳遞資料的最大值問題,檢視 了有關資料說get方式最大的傳遞值為2k 包括url字元 因此只能修改 換別的方式。本來計畫使用post方式,但是post方 式無法獲取使用者控制項中的資訊,所以此方法作罷。以下介紹使...
使用者控制項(頁面與使用者控制項之間的資料訪問)12 12
前台如何新增使用者控制項!例 page指令下加入 register src cityselect.ascx tagname cityselect tagprefix uc1 在指定位置下加入 頁面上訪問使用者控制項中的資料 方法一 使用使用者控制項的findcontrol方法,找到使用者控制項中的控...