台灣最大程式設計社群網站
線上人數
1858
 
會員總數:242275
討論主題:187366
歡迎您免費加入會員
討論區列表 >> ASP.NET >> Response.Redirect 子頁面繼承
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Response.Redirect 子頁面繼承
價值 : 10 QP  點閱數:168 回應數:9

樓主

raylight
門外漢
0 4
48 11
發送站內信

請教一下
我試過以下程式
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
//Response.Write("gv SelectedDataKey.Value: " + GridView1.SelectedDataKey.Value + "<br>");
Response.Redirect("Cancerplan-edit.aspx");
}

點選選取已有抓取到GridView1的DataKey值
如果說 我想用Response.Redirect("Cancerplan-edit.aspx")把值帶入Cancerplan-edit.aspx
由於Cancerplan-edit.aspx 有先繼承 login.aspx的值
如果需要再繼承這部分 pageload要如何修正?
[code]
protected void Page_Load(object sender, EventArgs e)
{
//Response.Cache.SetCacheability(HttpCacheability.NoCache);
if (!IsPostBack)
{
try
{
UsrName.Text = Session["UsrName"].ToString().Trim();
Label3.Text = Session["UsrCode"].ToString().Trim();
Label8.Text = Session["Dptname"].ToString().Trim();

}
catch
{
Response.Redirect("login.aspx");
}
finally { }
today.Text = DateTime.Now.ToShortDateString();

}
}
[/code]




搜尋相關Tags的文章: [ ASP.net ] , [ gridview ] , [ Page_Load ] , [ Response.Redirect ] ,
本篇文章發表於2018-03-29 15:02
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
您所說的『繼承』與小喵所理解的『繼承』好像不太一樣

繼承 (C# 程式設計手冊)

您指的確定是『繼承』嗎?
還是『承接』前頁送來的資料?

^.^a
本篇文章回覆於2018-03-29 17:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
如果是『承接』前一頁所送來的資料
可以指定控制項的PostBackUrl
讓他進行PostBack的時候,送到指定的頁面
然後,再那一頁,再去『承接』送過來的資料

PostBackUrl

^_^
本篇文章回覆於2018-03-29 17:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

MIS2000 Lab
檢舉此回應
網頁傳值的方法,請參考
http://belinru.pixnet.net/blog/post/77281949

ASP.NET Web Form有一招,跨網頁張貼、跨網頁公布,
這兩種作法,結果都一樣。請參考

https://dotblogs.com.tw/mis2000lab/archive/2008/05/26/4123.aspx
https://dotblogs.com.tw/mis2000lab/archive/2008/05/26/4124.aspx
本篇文章回覆於2018-03-30 07:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

raylight
檢舉此回應
我試著使用Session
不過在子畫面
[code]
描述: 在執行目前 Web 要求的過程中發生未處理的例外狀況。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。

例外狀況詳細資訊: System.InvalidOperationException: 當目前沒有資料時,嘗試讀取無效。

原始程式錯誤:


行 39: System.Data.SqlClient.SqlCommand myCommand = new System.Data.SqlClient.SqlCommand(strSQL, myConn);
行 40: System.Data.SqlClient.SqlDataReader myDataReader = myCommand.ExecuteReader();
行 41: TextBox36.Text = myDataReader["plan_no"].ToString().Trim();
[/code]

我的子畫面程式如下
[code]
string strConn = ConfigurationManager.ConnectionStrings["lseformsConnectionString"].ConnectionString;
System.Data.SqlClient.SqlConnection myConn = new System.Data.SqlClient.SqlConnection(strConn);
myConn.Open();
String strSQL = @"select * from cancer_plan where plan_no=" + Session["plan_no"].ToString(); ;
System.Data.SqlClient.SqlCommand myCommand = new System.Data.SqlClient.SqlCommand(strSQL, myConn);
System.Data.SqlClient.SqlDataReader myDataReader = myCommand.ExecuteReader();
TextBox36.Text = myDataReader["plan_no"].ToString().Trim();
TextBox1.Text = myDataReader["pat_name"].ToString().Trim();
TextBox2.Text = myDataReader["pat_room"].ToString().Trim();
TextBox3.Text = myDataReader["pat_no"].ToString().Trim();
TextBox4.Text = myDataReader["pat_bed"].ToString().Trim();
[/code]

Session["plan_no"].ToString()<我確定有讀到資料
請問是哪邊有錯誤呢??該如何修正
本篇文章回覆於2018-03-30 10:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
由於您貼出的程式,沒有顯示您的這部分寫在哪個事件
想來,應該是跟事件的發生有關係

例如,剛進入畫面,還沒有Session

建議您,可以先檢查Session是否真的有內容
例如:


此外,學會使用『中斷點』,使用F11 Step By Step除錯
是很重要的方式∼


---
題外話:
另外,小舖裡面貼程式碼,請使用『姓名下』方那一排,有區分不同程式碼的功能鍵
aspx就使用『HTML』
aspx.cs就使用『C語言』

這樣方便大家看Code

^.^a

本篇文章回覆於2018-03-30 12:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

raylight
檢舉此回應
我測試過 Session是有傳值進入畫面的

上面程式測試結果



上面測試錯誤訊息
本篇文章回覆於2018-03-30 14:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

raylight
檢舉此回應
感謝上面的幫忙 我解決了
不過不太懂
為何要先
加入if
判斷myDataReader.Read()有值
才能抓到值
本篇文章回覆於2018-03-30 15:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
不過不太懂
為何要先
加入if
判斷myDataReader.Read()有值
才能抓到值


WebForm是『事件』觸發的程式,因此,您的程式碼,寫在哪個『事件』很重要,
寫錯『事件』就可能發生您所料想不到的情境。

由於您還是『沒有』說明您的程式碼,寫在什麼『事件』中
因此,我無法準確的說明為什麼
比較大的可能,可能是因為您寫的『事件』,在運作時,『該事件的當下』,有些資料或狀態還沒有準備好

建議您去瞭解『頁面的生命週期』,這很重要
https://dotblogs.com.tw/hatelove/archive/2009/12/18/pagelifecycle.aspx
本篇文章回覆於2018-03-30 15:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
您對ADO.NET、DataReader可能還不是很熟悉

小喵修正您的程式碼,您比對看看


建議:釐清ADO.NET的撰寫方式,DataReader, DataTable, DataSet使用方式,Connection如何釋放

https://docs.microsoft.com/zh-tw/dotnet/framework/data/adonet/ado-net-overview

本篇文章回覆於2018-03-30 15:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.