내 웹 페이지에 4 개의 텍스트 상자가 있는데, 그 중 하나는 자바 스크립트 달력 컨트롤을 사용하여 채워집니다 ... 문제는 이러한 모든 텍스트 상자가 포스트 백 이후에 값을 잃어 버리는 것입니다. asp.net 버튼 컨트롤 클릭). 글 상자는 읽기 전용 그래서 난이 너무입니다 ... 도와주세요 ... 왜 알아낼 감사asp.net textbox 및 dropdownlist는 포스트 백에서 값을 잃습니다.
protected void Page_Load(object sender, EventArgs e)
{
BindProdTopDetails();
BindProdTable();
// BindProdComment();
}
protected void BtnProdUpdate_Click(object sender, EventArgs e)
{
//saveProdDetails();
bool success = saveProdDetails();
if (success)
{
string strScript96 = "<script language=JavaScript>";
strScript96 += "javascript:alert('Update Successful');";
strScript96 += "</script>";
if (!ClientScript.IsStartupScriptRegistered("clientScript"))
ClientScript.RegisterClientScriptBlock(this.GetType(), clientScript", strScript96);
}
}
public bool saveProdDetails()
{
string prodLine = DDProdLine.SelectedValue;
string stock1 = DDMaterial.SelectedValue;
string stock2 = TextBoxMaterial.Text.Trim().ToString();
string supplier = TextBoxSupplier.Text.Trim().ToString();
string billet = RBBillet.SelectedValue;
string matTime1 = TextBoxMatTime.Text.Trim().ToString();
string matTime2 = DDMatTime.SelectedValue;
string prodTime1 = TextBoxProdTime.Text.Trim().ToString();
string prodTime2 = DDProdTime.SelectedValue;
string shipTime1 = TextBoxShipTime.Text.Trim().ToString();
string shipTime2 = DDShipTime.SelectedValue;
CultureInfo cultureInfo = CultureInfo.CurrentCulture;
string format = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern.ToString();
string cmr = cmrDue.Value.ToString();
string kc = kcDue.Value.ToString();
string x = cmr.Substring(3, 2);
string y = cmr.Substring(0, 2);
string z = cmr.Substring(6, 4);
string x1 = kc.Substring(3, 2);
string y1 = kc.Substring(0, 2);
string z1 = kc.Substring(6, 4);
string finalCmr = x + "/" + y + "/" + z;
string finalKC = x1 + "/" + y1 + "/" + z1;
DateTime dt = DateTime.ParseExact(finalCmr, format, cultureInfo);
DateTime cr = DateTime.ParseExact(finalKC, format, cultureInfo);
string custDate = dt.ToString("dd/mm/yyyy");
string kcDate = cr.ToString("dd/mm/yyyy");
string id = Request.QueryString["id"];
bool success = true;
TextBoxProdComment1.Text = stock2 + "," + supplier + matTime1 + "," + prodTime1 + "," + shipTime1 + "," + custDate
+ "," + kcDate;
try
{
success = CRTopButtons.SaveProdTable(id, prodLine, stock1, supplier, billet, matTime1, matTime2, prodTime1,
prodTime2, shipTime1, shipTime2, custDate, kcDate);
}
catch (Exception e)
{
System.Diagnostics.Trace.Write(e.StackTrace);
}
return success;
}
당신은 당신의 ** 페이지로드를 보여줄 수 있도록하기 전에 조건
if (!Page.IsPostBack)
을 둘 필요 ** code .. 나는 당신이'IsPostBack' 가드 절을 놓치고 있다고 생각한다. – V4Vendetta텍스트 박스와 버튼을위한'.aspx'의 포스트 코드. –