2008-12-11 10 views
15

में बाइंड एक्सप्रेशन का उपयोग करते समय टेक्स्ट को आप कैसे संयोजित करते हैं एएसपीनेट वेबपृष्ठ (एएसपीएक्स) के लिए बाध्यकारी अभिव्यक्ति में पाठ को संयोजित करने के लिए वाक्यविन्यास क्या है।एएसपीनेट

<asp:HyperLink id="lnkID" NavigateUrl='<%# Bind("Link") %>' Target="_blank" 
         Text="View" runat="server"/> 

आप कैसे बदल सकता हूँ, कहते हैं, पाठ एक तार के साथ एक सीमित मान जोड़ रहे हैं:

उदाहरण के लिए अगर मैं एक हाइपरलिंक है कि इस तरह के लिए बाध्य किया जा रहा था था? इस तरह के बदलाव काफी सही नहीं हैं।

Text='<%# Bind("ID") + " View" %>' 

Text='<%# String.Concat(Bind("ID"), " View") %>' 

उत्तर

8

तुम भी "संयोजन" एक टैग के पाठ भाग में रखना पड़ता है जब एक टेम्पलेट क्षेत्र का उपयोग कर सकते हैं:

<asp:TemplateField HeaderText="Name" SortExpression="sortName"> 
<ItemTemplate> 
    <asp:LinkButton ID="lbName" runat="server" OnClick="lbName_Click" CommandArgument='<%# Eval("ID") %>'> 
     <%--Enter any text/eval bindind you want between the tags--%> 
     <%# Eval("Name") %> (<%# Eval("ID") %>) 
    </asp:LinkButton> 
</ItemTemplate> 

इस तरह उत्पादन में परिणाम है:

नाम (आईडी) टेम्पलेट कॉलम के अंदर

3

मैं String.Format("{0}{1}" का इस्तेमाल किया है ... इससे पहले कि अच्छे प्रभाव के लिए करता है।

34

इसके बजाय इवल का उपयोग करें।

Text='<%# Eval("ID", "{0} View") %>' 

अगर मूल्य अपडेट नहीं किया जा रहा है, तो इवल भी बेहतर होगा, जहां बाइंड दो तरह के डेटा बाइंडिंग की अनुमति देता है।

+2

इस प्रश्न के लिए, इवल सही है क्योंकि NavigateUrl संपत्ति में दो-तरफा डाटाबेसिंग करने में कोई बात नहीं है –