वेबफ़ॉर्म संपत्ति पर इनलाइन कोड

वोट
3

क्यों इस तिथि / समय प्रदर्शित नहीं करता है जब गाया?

<asp:Label runat=server ID=test Text=<%= DateTime.Now.ToString() %> ></asp:Label>

इस काम करने के लिए वहाँ वैसे भी है?

12/03/2009 को 16:47
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


6 जवाब

वोट
4

Asp.net सर्वर नियंत्रण के साथ अच्छी तरह से नहीं खेलते हैं <% =, बजाय आप कर सकते हैं:

<span><%= DateTime.Now.ToString() %></span>

Ps। आप वैकल्पिक रूप से पर कोड-पीछे लेबल का पाठ सेट कर सकते हैं। यह PreRenderComplete पर सेट करने के लिए अपने परिदृश्य के लिए काम कर सकते हैं।

12/03/2009 को 16:52
का स्रोत उपयोगकर्ता

वोट
3

मुझे यकीन है कि अगर आप फ़ाइल के पीछे एक कोड मिल गया है नहीं कर रहा हूँ, लेकिन अगर आप वास्तव में लेबल की निर्धारित करने की आवश्यकता Textआप पृष्ठ के लिए निम्न कोड जोड़ सकते .aspx मार्कअप में संपत्ति:

<script runat="server">
    protected override void OnPreLoad(EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.test.Text = DateTime.Now.ToString();
            base.OnPreLoad(e);
        }
    }
</script>

इस तरह से आप पोस्टबैक पर लेबल नियंत्रण की राज्य बनाए रख सकते हैं।

12/03/2009 को 18:04
का स्रोत उपयोगकर्ता

वोट
1

नीचे के रूप में लेबल के टैग के अंदर इनलाइन कोड रखो,

< asp:Label ID="Lbl" runat="server" Text="">
<%= DateTime.Now.ToString() %>
< /asp:Label>
07/11/2012 को 13:03
का स्रोत उपयोगकर्ता

वोट
1

सबसे आसान तरीका है कि काम करने के लिए कोड के स्थान पर एक डेटा-बाइंडिंग अभिव्यक्ति का उपयोग करने के लिए ब्लॉक प्रस्तुत करना होगा ...

<asp:Label runat="server" ID="test" Text="<%# DateTime.Now.ToString() %>" ></asp:Label>

अब पाठ संपत्ति जब भी Page.DataBind () कहा जाता है की स्थापना की जाएगी, इसलिए में अपने कोड-पीछे आप की तरह कुछ चाहता हूँ

protected override void OnPreRender(EventArgs e)
{
    if (!Page.IsPostBack)
    {
        DataBind();
    }

   base.OnPreRender(e);
}  
12/03/2009 को 18:13
का स्रोत उपयोगकर्ता

वोट
0

वास्तविक समस्या यहाँ हालांकि मैं मार्कअप पृष्ठ पर कोड के साथ एक Webcontrol की संपत्ति निर्धारित करने की आवश्यकता है। एक ही रास्ता मैं पाया है यह करने के लिए एक कोड ब्लॉक में पूरे नियंत्रण रखा जाता है। इसके सुरुचिपूर्ण या सुझाव दिया, लेकिन जब सब कुछ विफल हो इस काम करेंगे नहीं।

    <%
        var stringBuilder = new StringBuilder();
        var stringWriter = new StringWriter(stringBuilder);
        var htmlWriter = new HtmlTextWriter(stringWriter);
        var label = new Label { Text = DateTime.Now.ToString() };
        label.RenderControl(htmlWriter);
        Response.Write(stringBuilder.ToString());
     %>

लेकिन इस आप नियंत्रण चाहते हैं तो राज्य बनाए रखने के लिए काम नहीं करेगा।

अद्यतन करें:

कीव के जवाब शोध करने के बाद मैं एक और भी बेहतर समाधान मिला। मैं एक कोड के पीछे की जरूरत नहीं है (इसकी एक MVC पेज) लेकिन आप अभी भी एक कोड ब्लॉक के माध्यम से पृष्ठ पर एक नियंत्रण संदर्भित कर सकते हैं तो मेरे नए समाधान निम्नलिखित है। टिप्पणी - आप पहले कोड ब्लॉक को रखने के लिए इस काम करने के लिए किया है।

 <%
    lblTest.Text = DateTime.Now.ToString();
 %>
<asp:label runat="server" ID="lblTest" />

प्रेरणा कीव के लिए धन्यवाद!

12/03/2009 को 17:07
का स्रोत उपयोगकर्ता

वोट
0

खैर एएसपी टैग बनाए जाते हैं। आप रनटाइम पर गुण सेट करना होगा। या सिर्फ करना <%= DateTime.Now.ToString() %>

12/03/2009 को 16:49
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more