|
|
|
สอบถามวิธีใช้ if else กับ DataBinder.Eval(Container.DataItem หน่อยครับ |
|
|
|
|
|
|
|
เค้าไม่นิยมไป IF ในหน้า ASPX ครับ แต่ไปทำใน Row/Item DataBound ที่ Code Behind แทนครับ
|
|
|
|
|
Date :
2015-07-14 15:31:21 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันใส่เงื่อนไขและทำอย่างอื่นไม่ค่อนได้ครับ เค้าเลยไปทำที่ ItemDataBound แทนครับ
Code (C#)
//*** CustomerID ***//
Label lblCustomerID = (Label)(e.Item.FindControl("lblCustomerID"));
if (lblCustomerID != null)
{
if((string)DataBinder.Eval(e.Item.DataItem, "CustomerID").ToString() == "1")
{
lblCustomerID.Text = xxx;
}
else
{
lblCustomerID.Text = yyy;
}
}
ประมาณนี้ครับ
|
|
|
|
|
Date :
2015-07-14 16:04:56 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้ครับ จะได้เฉพาะพวก Web Controls
|
|
|
|
|
Date :
2015-07-14 16:40:34 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ผมทำได้ในลักษณะนี้ครับ ใน Code behind แสดงผลได้ตามต้องการ
Code (C#)
Button BtnSave1 = (Button)(e.Item.FindControl("BtnSave1"));
HiddenField hdTextID = (HiddenField)(e.Item.FindControl("hdTextID"));
if (BtnSave1 != null)
{
if (DataBinder.Eval(e.Item.DataItem, "PermitRec").ToString() == "2" || DataBinder.Eval(e.Item.DataItem, "PermitRec").ToString() == "3")
{
BtnSave1.Visible = false;
}
else
{
hdTextID.Value = DataBinder.Eval(e.Item.DataItem, "TextID").ToString();
BtnSave1.PostBackUrl = "~/webform2.aspx";
BtnSave1.Visible = true;
}
}
เพียงแต่ พอไปหน้า webform2.aspx
ใช้ Request.Form.Get("hdTextID "); เพื่อดูค่าว่าส่งมาหรือไม่ ปรากฎว่า ไม่มีค่ามาเลยครับ ทำยังไงดีครับ
|
|
|
|
|
Date :
2015-07-16 12:35:46 |
By :
angelkiller9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|