Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > สอบถามวิธีใช้ if else กับ DataBinder.Eval(Container.DataItem หน่อยครับ



 

สอบถามวิธีใช้ if else กับ DataBinder.Eval(Container.DataItem หน่อยครับ

 



Topic : 117784



โพสกระทู้ ( 318 )
บทความ ( 0 )



สถานะออฟไลน์




เราไม่สามารถใช้ ในลักษณะนี้ได้ใช่ไหมครับ แต่ผมต้องการเขียนในลักษณะ นี้ อ่ะครับ ทำอย่างไรครับ
Code (C#)
<% if(DataBinder.Eval(Container.DataItem, "Column")=="2" || DataBinder.Eval(Container.DataItem, "Column")=="3"){ %>
<td align="center" class="RowTable1">Test1</td>
<% }else{ %>
<td align="center" class="RowTable1">Test2</td>
<td align="center" class="RowTable1">Test2</td>
<td align="center" class="RowTable1">Test2</td>
<td align="center" class="RowTable1">Test2</td>
<% } %>


เพราะ ถ้าใช้ DataBinder.Eval(Container.DataItem, "Column") tag ที่เขียน ต้องเป็น <%# DataBinder.Eval(Container.DataItem, "Column") %> แต่มันใส่ if else ไม่ได้อ่ะครับ มีวิธีใช้ยังไงหรอครับ เพิ่งหัดเขียน C# ASP.NET



Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), C#









ประวัติการแก้ไข
2015-07-14 15:25:05
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-07-14 14:31:11 By : angelkiller9 View : 2665 Reply : 7
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

เค้าไม่นิยมไป IF ในหน้า ASPX ครับ แต่ไปทำใน Row/Item DataBound ที่ Code Behind แทนครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-14 15:31:21 By : mr.win
 


 

No. 2



โพสกระทู้ ( 318 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2015-07-14 15:31:21
รายละเอียดของการตอบ ::
มีตัวอย่างให้ดูไหมครับ พี่วิน ตอนแรกดูในนี้ เห็นว่า มันแสดงผลง่ายดี เลยกะทำในนี้เลย พอจะใส่เงื่อนไข ตันขึ้นมาซะงั้น :'(

https://www.thaicreate.com/asp.net/c-sharp-asp.net-repeater-control-databound.html
อันนี้ที่ผมเจอครับ
เมื่อใส่ if else ใน code behind แล้ว สมมติ เข้าเงื่อนไข ก็เก็บเป็น string ไปแสดงใน Label เอาหรอครับ หรือยังไง
เช่น
ถ้า เข้าเงื่อไข if ให้แสดงค่า "-" ออกมา
ถ้าเข้าเงื่อนไข else จะมี <form> Something </form> โผล่ออกมาให้กดบันทึก อะไรประมาณนี้อ่ะครับ เราก็เอาค่า <form> พวกนี้เก็บเป็น string ไปแสดงใน Label เอาใช่ไหมครับ



ประวัติการแก้ไข
2015-07-14 15:48:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-14 15:39:29 By : angelkiller9
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

มันใส่เงื่อนไขและทำอย่างอื่นไม่ค่อนได้ครับ เค้าเลยไปทำที่ 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
 


 

No. 4



โพสกระทู้ ( 318 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : mr.win เมื่อวันที่ 2015-07-14 16:04:56
รายละเอียดของการตอบ ::
ผมสามารถใส่ในลักษณะ นี้ได้ใช่ไหมครับ

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 = "-";
	}
	else
	{
string form_txt = "<form runat='server' name='form1'> <!-- something --> </from>";
		lblCustomerID.Text = form_txt;
	}
}



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-14 16:27:36 By : angelkiller9
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ไม่ได้ครับ จะได้เฉพาะพวก Web Controls
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-14 16:40:34 By : mr.win
 


 

No. 6



โพสกระทู้ ( 318 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : mr.win เมื่อวันที่ 2015-07-14 16:40:34
รายละเอียดของการตอบ ::
แล้วถ้า ผมต้องการเขียนในลักษณะ นี้ ควรทำอย่างไรอ่ะครับ พอจะมีคำแนะนำไหมครับ

Code (C#)
<% if(DataBinder.Eval(Container.DataItem, "ColumnY").ToString()=="2" || DataBinder.Eval(Container.DataItem, "ColumnY").ToString()=="3"){  %>
         -
<% }else{ %>
       <asp:HiddenField ID="HiddenField1" runat="server" Value="<%# DataBinder.Eval(Container.DataItem, "Column1") %>" />
        <asp:HiddenField ID="HiddenField2" runat="server" Value="<%# DataBinder.Eval(Container.DataItem, "Column2") %>" />
         <asp:Button ID="Button1" runat="server" Text="Button" />
<% } %>




ประวัติการแก้ไข
2015-07-14 23:05:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-14 22:43:19 By : angelkiller9
 


 

No. 7



โพสกระทู้ ( 318 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนนี้ผมทำได้ในลักษณะนี้ครับ ใน 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
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามวิธีใช้ if else กับ DataBinder.Eval(Container.DataItem หน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่