|
|
|
ไม่ต้องการให้ dropdownlist ทำงานตอนที่ใช้คำสั่ง Response.Redirect มาที่หน้าเพจ |
|
|
|
|
|
|
|
จะเข้าใจยังไงดี
|
|
|
|
|
Date :
2010-10-02 05:41:54 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ให้เดานะคะพี่วิน จะประมาณนี้มั้ง
Response.Redirect และ จะ Server.Transfer ล้วนแต่ทำให้เกิด page postback ค่ะ
และเมื่อกดปุ่มใดๆก้อจะเกิด page postback เหมือนกัน
แตกต่างกันที่ page postback จาก Response.Redirect หรือ Server.Transfer เกิดขึ้นครั้งแรกค่ะ
ส่วนถ้าจะดักละก้อจะประมาณนี้ละมังคะ
Code (C#)
public partial class _Default : System.Web.UI.Page
{
private bool RunOnce
{
get
{
if (ViewState["RunOnce"] = null)
ViewState["RunOnce"] = false;
return Convert.ToBoolean(ViewState["RunOnce"]);
}
set
{
ViewState["RunOnce"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
if (!this.RunOnce)
{
this.RunOnce = true;
}
else
{
//...... ใส่ code ที่นี่
}
}
}
|
|
|
|
|
Date :
2010-10-02 06:03:05 |
By :
blurEyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือผมอยากรู้ว่า ถ้าข้อมูลส่งกลับมาโดยใช้ Response.Redirect
ผมจะรู้ได้ยังไงว่าเป็นการ Response.Redirect ผม จะได้ทำให้มันไม่ bindData() ใน dropdownlist ใหม่อ่ะครับ
|
|
|
|
|
Date :
2010-10-02 11:53:14 |
By :
อยากรู้มากครับ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขออย่างละเอียดค่ะ เริ่มๆจะไม่เข้าใจคุณละ
|
|
|
|
|
Date :
2010-10-02 12:35:39 |
By :
blurEyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือว่าผมมี dropdownlist ข้อมูลอันหนึ่งน่ะครับ เริ่มต้นผมจะให้มัน databind ข้อมูลลงใน dropdownlist
หลังจากนั้นเมื่อผมกดปุ่มตกลง มันจะเอาข้อมูลที่ dropdownlist.selectvalue แล้วส่งไปโดยใช้คำสั่ง
Page.Response.Redirect("หน้าเพจเดิม?=" + ข้อมูลของ dropdownlist.selectvalue)
หลังจากนั้นผมจะเขียน code ตรวจจับอย่างไรไม่ให้มันไปทำการ databind ใน dropdownlist อีกครั้งน่ะครับ
หรือว่าผมควรส่งแบบ GET โดยใช้คำสั่งอื่นๆ เพื่อที่มันจะสามารถตรวจสอบได้ครับ
ขอบคุณมากน่ะครับที่ช่วยตอบคำถาม
|
|
|
|
|
Date :
2010-10-02 12:47:25 |
By :
อยากรู้มากครับ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นไปได้ไหมครับ ส่งอะไรไปพร้อมกับ url ตอน redirect ครับ เช่น "หน้าเพจเดิม?=" + ข้อมูลของ dropdownlist.selectvalue + "&direct=true"
และตอน page load ก็เพิ่มการเช็คครับว่า request.querystring("direct") = "true" หรือเปล่า
ถ้าใช่ก็ ไม่ต้องไป databind ใน dropdownlist
|
|
|
|
|
Date :
2010-10-02 13:40:36 |
By :
ส่วนหนึ่ง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Drawing;
using System.Collections.Generic;
namespace Project1
{
public partial class ViewCourse : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Staff_User"] == null)
{
Page.Response.Redirect("../Login.aspx");
}
else
{
if (!Page.IsPostBack)
{
if (Request.QueryString["ViewCourseID"] == null)
{
bindData();
}
}
}
}
public void bindData()
{
string _cons = ConfigurationManager.AppSettings["ConnectDB"].ToString();
SqlConnection _con = new SqlConnection(_cons);
string _strSelect = "SELECT course_id, course_name_thai FROM course";
SqlCommand _selectCmd = new SqlCommand(_strSelect, _con);
SqlDataReader _dr;
try
{
_con.Open();
_dr = _selectCmd.ExecuteReader();
if (_dr.HasRows)
{
ddl_course.DataSource = _dr;
ddl_course.DataTextField = "course_name_thai";
ddl_course.DataValueField = "course_id";
ddl_course.DataBind();
}
else
{
}
}
finally
{
_con.Close();
}
}
protected void btn_ok_Click(object sender, EventArgs e)
{
string viewCourseID = ddl_course.SelectedValue.ToString();
Page.Response.Redirect("ViewCourse.aspx?ViewCourseID=" + viewCourseID);
}
}
}
พอผมกดปุ่ม ok แล้ว ผมอยากให้ ค่า ใน ddl_course มันเลือกอยู่ที่ค่าเดิมตอนที่ผมเลือกน่ะครับ ทำไงหรอคับ
เช่น ตอนผมกดปุ่ม ok ค่าที่เลือกของ ddl_course อยู่ที่เลข 2 พอมัน Page.Response.Redirect เสดผมอยากให้มันเป็นค่าที่เลือกไว้เหมือนเดิมน่ะครับ
|
|
|
|
|
Date :
2010-10-02 15:12:38 |
By :
อยากรู้มากครับ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
if (Request.QueryString["ViewCourseID"] == null)
bindData();
else
{
string ddlSelectedValue = Request.QueryString["ViewCourseID"].ToString() ;
foreach ( ListItem myItem in ddl_course.items )
{
if (ddlSelectectValue.Equals(myItem.Value))
{
myItem.Selected = true ;
break ;
}
}
}
|
ประวัติการแก้ไข 2010-10-02 15:32:08 2010-10-02 15:32:45
|
|
|
|
Date :
2010-10-02 15:31:20 |
By :
blurEyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ขอบคุณทุก ๆ คนมากน่ะครับ
แต่ผมยังต้องถามอีกหลายเรื่อง พอดีเพิ่งหัดเขียนน่ะครับ
อย่าเพิ่งเบื่อกับคำถามผมก่อนน่ะครับ อิอิ
|
|
|
|
|
Date :
2010-10-02 18:11:19 |
By :
อยากรู้มากครับ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+1 ให้ ตอบกันได้ไง งง
|
|
|
|
|
Date :
2010-10-02 18:20:18 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ้าวทำได้ละหรอคะ งงด้วยดิ ^3^
|
|
|
|
|
Date :
2010-10-02 18:22:53 |
By :
blurEyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|