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 > [C#] แทรกตัวแปรจากหลังบ้าน ไว้ที่หน้า html aspx อย่างไรครับ



 

[C#] แทรกตัวแปรจากหลังบ้าน ไว้ที่หน้า html aspx อย่างไรครับ

 



Topic : 055669

Guest




สมมติว่า

1. html ธรรมดา Code (ASP)
<a href="https://www.thaicreate.com/hame.aspx?ID=xxx"></a>


2. เป็น javascript ที่อยู่ใน tag อีกที

Code (ASP)
<asp:Button ID="btn1" runat="server" Text="OK" Onclick="window.open('https://www.thaicreate.com/home.aspx?ID=xxx','','')" /> 




ตรง xxx จะให้เป็นตัวแปรที่อยู่หลังบ้าน(.CS) ต้องเขียนแทรกเข้าไปยังไง

ไม่อยากใช้ response.write จากหลังบ้านเพราะว่า code javascript มันจะไปแทรกด้านบนเวลากด แล้วหน้ามันจะเพี้ยนครับ



Tag : .NET, C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-02-07 16:21:34 By : Kim View : 5466 Reply : 7
 

 

No. 1

Guest


Code (ASP)
<input id="Button1" type="button" value="<% = UrlStr  %>" onclick="window.open('<% = UrlStr  %>','','')" /></div>


Code (C#)
public string UrlStr = @"https://www.thaicreate.com/dotnet/forum/055669.html";







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-08 13:17:48 By : Programmer Of Persia
 


 

No. 3

Guest


Page_load (..) { string urlAddress = string.Format(@"https://www.thaicreate.com/dotnet/forum/055669.html?ID={0}","-- QUERY VALUE HERE--") ; btn1.Attributes.Add("OnClick" ,urlAddress) ; }




ตัวอย่างที่คุณยกมา

<asp:Button ID="btn1" runat="server" Text="OK" Onclick="window.open('https://www.thaicreate.com/home.aspx?ID=xxx','','')" />


ผิดค่ะ ที่ถูกคือ

<asp:Button ID="btn1" runat="server" Text="OK" OnClientClick="window.open('https://www.thaicreate.com/home.aspx?ID=xxx','','')" />

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-08 13:38:17 By : สาวเอ๋อ (ก้อคนมานเอ๋อ)
 

 

No. 4

Guest


ขอบคุณมากๆครับ

และอยากทราบสาเหตุที่ต้องมี @ นำหน้าใน Code (C#)
public string UrlStr = @"https://www.thaicreate.com/dotnet/forum/055669.html";


น่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-09 16:32:00 By : Kim
 


 

No. 5

Guest


อีกอย่างคือผมจะศึกษาการใช้งานพวก <% %> นี้ได้จากไหนครับ

มันมีแบบอื่นๆอีก

ผมเห็นใน VB มี Code (VB.NET)
Code (ASP)
<%#Eval("xxx")%>


ของ C# มีอะไรบ้างครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-09 16:34:57 By : Kim
 


 

No. 6

Guest


<%= %> มีค่าเท่ากับ Response.Write ณ ตำแหน่งนั้นๆ ค่ะ ใช้กันมาตั้งแต่ยุค ASP ( ยุคหินเก่า )


<%# %> ใช้เพื่อการ bind data field ของ data source ที่ หน้า DESIGN เพื่อลด code ของ code be-hide ลง
จะใช้กับ control ที่มีคุณสมบัติ Bind Datasource ได้เท่านั้นค่ะ
แต่ในบางกรณีจะพบการใช้ <%# %> กับ control ที่ไม่มีคุณสมบัติ bind datasource เช่น label หรือ textbox เป็นต้น
ทั้งนี้เพราะมีการ bind datasource ไปยัง control container ของ label หรือ textbox นั้นไว้แล้ว
เช่น gridview หรือ กระทั่ง Page

และในการ bind data field ออก ณ design mode มีสอง statement ให้ใช้ คือ
Eval และ Bind


Eval
- Eval เริ่มใช้มาตั้งแต่ยุคแรกเริ่ม กับ .net framework และใช้ได้กับ compact framework ทุก version
โดยเป็น abbv มาจาก DataBinder.Eval
ซึ่งมี 2 overload Eval(Object, String) และ Eval(Object, String, String) [ดูรายละเอียดได้จาก MSDN ที่ติดมากะ VSS]
ตัวหลังนี่เพิ่ม format pattern ของพวกวัน-เวลา และเขียนแบบเต็มๆดังนี้.-
<%# DataBinder.Eval (Container.DataItem, "FieldName") %>
แต่โดยปกตินิยมเขียนแบบสั้นๆดังนี้.-
<%# Eval ("FieldName") %>
ดังตัวอย่าง
Code (ASP)
<%@ Page language="c#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat="server">
void Page_Load(Object sender, EventArgs e) 
{ 
   SqlConnection cnn = new 
       SqlConnection("server=(local);database=pubs;Integrated Security=SSPI"); 
   SqlDataAdapter da = new SqlDataAdapter("select * from authors", cnn); 
   DataSet ds = new DataSet(); 
   da.Fill(ds, "authors"); 
   Repeater1.DataSource = ds.Tables["authors"];
   Repeater1.DataBind();
}
</script>
<html>
<body>
   <form id="WebForm2" method="post" runat="server">
      <asp:Repeater id="Repeater1" runat="server">
         <ItemTemplate>
         <%# DataBinder.Eval(Container.DataItem,"au_id") %><br>
    	 </ItemTemplate>
      </asp:Repeater>
   </form>
</body>
</html>


ทั้งนี้ Eval จะเรียกได้ Read-only databind ก้อได้คือใน template หรือ field ที่นำ Eval มาใช้
จะนำเอาข้อมูลมานำเสนอเพียงอย่างเดียว หากมีการเปลี่ยนแปลงจะไม่มีผลกับตัว datasource
และใน .net framework 2.0 จึงได้เพิ่ม statement : Bind ขึ้นมา


Bind
ข้อแตกต่างที่สำคัญของ bind คือ เป็นการ bind แบบสองทางดังข้างต้น
เพราะใน asp.net นั้นมีกลุ่ม control ที่สามารถทำการ CRUD (Create Read Update Delete) ได้อัตโนมัติ
เมืื่อรวมเข้ากับ คุณสมบัติของ Bind statement จึงทำให้สามารถทำงานได้เต็มรูปแบบโดยที่ไม่ต้องไปเขียน
code เพิ่มเติม (Auto Operation with code less >> ไม่ต้องเขียน code หมายถึง code behide นั่นแหละค่ะ)
จาก Design mode ตัวอย่างข้างล่าง สังเกตุว่ามีการใช้ทั้ง Eval และ Bind

Code (ASP)
<EditItemTemplate>
  <table>
    <tr>
      <td align=right>
        <b>Employee ID:</b>
      </td>
      <td>
        <%# Eval("EmployeeID") %>
      </td>
    </tr>
    <tr>
      <td align=right>
        <b>First Name:</b>
      </td>
      <td>
        <asp:TextBox ID="EditFirstNameTextBox" RunAt="Server"
          Text='<%# Bind("FirstName") %>' />
      </td>
    </tr>
    <tr>
      <td align=right>
        <b>Last Name:</b>
      </td>
      <td>
        <asp:TextBox ID="EditLastNameTextBox" RunAt="Server"
            Text='<%# Bind("LastName") %>'  />
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <asp:LinkButton ID="UpdateButton" RunAt="server"
          Text="Update" CommandName="Update" />
        &nbsp;
        <asp:LinkButton ID="CancelUpdateButton" RunAt="server"
          Text="Cancel" CommandName="Cancel" />
      </td>
    </tr>
  </table>
</EditItemTemplate>


เพราะ EmployeeID คือ PrimaryKey เราจะไม่ทำอะไรกะมัน ส่วน field ที่เหลือจะแก้ไขได้


และเนื่องจาก ใช้ที่ Design mode ภาษาใดๆ ที่ Support asp.net ล้วนใช้ได้หมดค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-10 02:44:10 By : สาวเอ๋อ (ก้อคนมานเอ๋อ)
 


 

No. 7

Guest


โห

ขอบคุณจากใจจริงมากๆครับ "สาวเอ๋อ" ! จัดชุดใหญ่มาเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-10 11:47:58 By : Kim
 


 

No. 8



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



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

ขอบคุณมากครับผม
ตอบได้ละเอียดมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-16 14:45:09 By : reekoong
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [C#] แทรกตัวแปรจากหลังบ้าน ไว้ที่หน้า html aspx อย่างไรครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่