से डेटा प्राप्त करना मैं एएसपी.NET के लिए बहुत नया हूं और मुझे यकीन नहीं है कि मैं इस बारे में सही तरीके से जा रहा हूं। मेरे पास एक पुनरावर्तक है जो "छवि" वस्तुओं की सूची से जुड़ा हुआ है। प्रत्येक RepeaterItem के भीतर एक चेकबॉक्स है और मेरे पास एक बटन ऑनक्लिक ईवेंट है, जिसे मैं चेक किए गए छवि ऑब्जेक्ट्स के कुछ विशेषताओं को प्रदर्शित करना चाहता हूं।एएसपी.Net - RepeaterItem
लेबल अद्यतन, लेकिन मेटाडेटा खाली है। DataBinder.Eval (i.DataItem, "FileName") वापस आ रहा है, लेकिन मुझे यकीन नहीं है क्यों? मैंने सोचा कि शायद चेकबॉक्स से पोस्टबैक समस्याएं पैदा कर रहा था लेकिन अगर मैं किसी भी पोस्टबैक के पहले डेटा प्रदर्शित करने का प्रयास करता हूं तो मुझे अभी भी वही समस्या मिलती है, इसलिए शायद मैं गुणों को सही तरीके से नहीं ला रहा हूं। या मैं इस बारे में पूरी तरह गलत तरीके से जा रहा हूं? किसी भी मदद की सराहना की।
कोड:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string importPath = Server.MapPath("~/Images/ForImport");
ImageProcessor processor = new ImageProcessor(importPath);
rptImageList.DataSource = processor.ImageList;
rptImageList.DataBind();
}
}
protected void btnImport_Click(object sender, EventArgs e)
{
foreach (RepeaterItem i in rptImageList.Items)
{
CheckBox chk = i.FindControl("chkSelectImage") as CheckBox;
if (chk.Checked)
{
Testlabel.Text += "Selected: " + DataBinder.Eval(i.DataItem, "FileName");
}
}
}
HTML:
<asp:Repeater ID="rptImageList" runat="server">
<ItemTemplate>
<div class="photoinstance">
<asp:Image runat="server" ImageUrl='<%#"Images/ForImport/" +DataBinder.Eval(Container.DataItem, "FileName") %>' />
<asp:CheckBox ID="chkSelectImage" AutoPostBack="true" runat="server"/>
<p><%#Eval("FileName")%> - <%#Eval("FileSize")%> bytes</p>
</div>
</ItemTemplate>
</asp:Repeater>
'DataItem' संपत्ति' ItemDataBound' घटना में, केवल पोस्टबैक पहले से कहीं उपलब्ध है। यह एमएसडीएन पर बहुत अच्छी तरह से इंगित नहीं किया गया है, लेकिन सभी एएसपी.NET नियंत्रणों में सुसंगत है – jwiscarson