我想要一个ASP:NET WebForms Repeater控件来自动将索引放在每个输出行的旁边.我怎样才能做到这一点?
例:
Name
1 John
2 Jack
3 Joe
Run Code Online (Sandbox Code Playgroud) 我有一个问题,即转发器的视图状态,即转发器内的控件不维护其视图状态.
我有以下内容:
中继器1:
<asp:Repeater ID="rptImages" runat="server">
<ItemTemplate>
<asp:LinkButton Text="Add" CommandName="Add" CommandArgument=<%# Eval("ID") %> runat="server" />
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
单击链接按钮时,CommandArgument的值将存储在页面上的隐藏字段中.
回发后,在加载prerender事件处理程序之前,我无法获取隐藏字段的值.所以在我的prerender事件中,我获取隐藏字段的值并将其存储在List属性中,如下所示:
if (!string.IsNullOrEmpty(this.SelectedImageIDsInput.Text)) {
this.ImageList.Add(this.SelectedImageIDsInput.Text);
}
Run Code Online (Sandbox Code Playgroud)
List属性如下所示:
public List<string> ImageList {
get {
if (this.ViewState["ImageList"] == null) {
this.ViewState["ImageList"] = new List<string>();
}
return (List<string>)(this.ViewState["ImageList"]);
}
set { this.ViewState["ImageString"] = value; }
}
Run Code Online (Sandbox Code Playgroud)
一旦我将值存储到我的List属性中,我就绑定了我的第二个转发器(再次在prerender事件中):
this.rptSelectedImages.DataSource = this.LightBoxControl.ImageList;
this.rptSelectedImages.DataBind();
Run Code Online (Sandbox Code Playgroud)
第二个中继器有一个下拉列表和一个文本框.问题是不维护这些子控件的视图状态.我认为这是因为每次回发我重新绑定转发器,因此它被重建.我不知道的是我怎么可能绕过这个?ImageList属性仅在回发时更新,因此我显然必须使用每个回发重新绑定转发器 - 如何才能完成?
任何帮助将不胜感激.
谢谢Al
对于第一项我想使用以下内容<div>:
<div class="six columns">
<a href="">
<img src="" />
<h3>Israeli Embassy Promotes Peace</h3>
<h4>At a time when Israel is facing threats of...</h4>
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
这是休息我想使用以下<div>:
<div class="six columns">
<ul>
<li><a href="">
<h3>This is the first alskdjlak s</h3>
</a></li>
<li><a href="">
<h3>asd sad asd asd asdasdasdas d</h3>
</a></li>
<li><a href="">
<h3>dsad asd asd asd asd asd asd</h3>
</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
我有一个带有文本框的转发器,当我从一个文本框移动到另一个文本框时,我想要发送一个事件,使用OnItemCommand转发器.
<asp:Repeater ID="RptrPeople" runat="server" OnItemDataBound="RptrPeople_ItemDataBound" OnItemCommand="RptrPeople_ItemCommand">
<ItemTemplate>
<asp:HiddenField ID="hf" runat="server" Value="<%# Eval(this.ValuedPerson) %>" />
<asp:TextBox ID="txtDescription" runat="server" IsRequired="false" Visible="true" AutoPostBack="true" />
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
我试图使用OnTextChanged文本框,但我不能得到以这种方式触发事件的项目.
任何人都可以请告知一个很好的方式来获取触发事件的项目,之后我从一个文本框移动,使用OnItemCommand (例如,我进123的Textbox #1,然后转移到Textbox #2...然后我想火,是以事件照顾123有价值的文本框)?
谢谢
我试图在一个asp:Repeater控件中做一个内联IF语句,为第一个项添加一个类,但我似乎无法弄明白.
基本上我现在的代码不起作用,但应该知道我正在"尝试"做什么看起来像这样.
<asp:Repeater ID="rptrTabRepeater" runat="server">
<ItemTemplate>
<div class="tab <%= If Container.ItemIndex = 0 Then %>highlight<% End If%>">
'Other stuff here
</div>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
我已尝试使用该OnItemDataBound事件,但委托接口无法返回值.如果我要从代码隐藏函数中做任何事情,它真的只需要一个"回声"类函数,我不太确定如何在函数后面的代码中获取项索引.如果我可以像我的例子一样内联做一些对我来说最好的解决方案.
任何更好的解决方案也欢迎.谢谢!
编辑:我得到的编译错误是:
Compiler Error Message: BC30201: Expression expected.
Run Code Online (Sandbox Code Playgroud) 我正在使用转发器在我的页面上显示数据记录.它曾经是我在其中使用表格,我从来没有遇到过问题,但现在我正在使用div并且我一直在收到构建错误,说服务器标签格式不正确......
任何人都可以看到这个有什么问题?
<asp:Repeater runat="server" ID="rptGuestbook"
onitemdatabound="rptGuestbook_ItemDataBound">
<ItemTemplate>
<div runat="server" id="divPost" class="post">
<div runat="server" id="divAuthor" class="author">
<ul>
<li><asp:HyperLink runat="server" ID="lnkEmail" ImageUrl="~/Images/emailicon.png" NavigateUrl="mailto: <%# Eval("emailaddress") %>"></asp:HyperLink></li>
<li><asp:HyperLink runat="server" ID="lnkWeb" ImageUrl="~/Images/webicon.png" NavigateUrl="<%# Eval("webaddress") %>"></asp:HyperLink></li>
<li>Posted By: <%# Eval("author") %></li>
</ul>
<div runat="server" id="divAdmin" class="delete-button" visible="false">
<asp:Button runat="server" ID="btnDeletePost" Text="Delete Post" OnClick="btnDeletePost_Click" />
</div>
</div>
<div runat="server" id="divMessage" class="post-message"><%# Eval("message") %></div>
</div>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud) 美好的一天,我希望转发器内的按钮文本根据sql选择的值动态改变.
这是我的代码:
asp.cs
if (!IsPostBack)
{
string getEmp = "Select employeeid, photo, lastname, firstname, departmentname, designation,userType from tblEmployee e inner join tblDepartment d on d.departmentid=e.department";
SqlCommand com = new SqlCommand(getEmp,con);
con.Open();
SqlDataReader dr = com.ExecuteReader();
Button btnSet = (Button)FindControl("btnSet");
if (dr.HasRows)
{
if (dr.Read())
{
if (btnSet != null)
{
if (dr["userType"].ToString() == "2")
{
btnSet.Text = "Set as Normal User";
}
else
{
btnSet.Text = "Set as Power User";
}
}
}
}
Repeater1.DataSource = dr;
Repeater1.DataBind();
dr.Dispose();
con.Close(); …Run Code Online (Sandbox Code Playgroud) 我已经使用本教程使用转发器在我的项目的页面上显示名称列表.
所以我正在使用动态数据,在我的aspx.cs页面中,我有:
List<string> subContractors = new List<string>();
Context db = new Context();
subContractors = (from SUBContractors in db.BOQ_SubContractors
where SUBContractors.Bill_Of_Quantity_id == this.boqId
select SUBContractors.Sub_Contractor.Company_Name).ToList();
Run Code Online (Sandbox Code Playgroud)
repeaterShowSubContractorName.DataSource = subContractors; repeaterShowSubContractorName.DataBind();
在我的aspx中:
<asp:Repeater ID="repeaterShowSubContractorName" runat="server" OnItemDataBound="subContractors_ItemDataBound">
<HeaderTemplate>
<table>
<tr>
<th>
<asp:Label ID="SubConName" Text="SubContractor Name" runat="server"></asp:Label>
</th>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="SubCon" Text='<%# Eval("subContractors") %>' runat="server"></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
错误来自OnItemDataBound="subContractors_ItemDataBound".
我将这个链接到哪里或在哪里?我subContractors_ItemDataBound此刻没有.
我在前端创建了一个转发器,我需要添加多个项目,第二个项目是一个字符串,这需要添加到图像 src 中,有什么想法吗?
<asp:Repeater runat="server" ID="WeatherForcastWeek" >
<ItemTemplate>
<td>
<asp:Label runat="server" ID="Day1" />
<asp:Image runat="server" ID="WeatherIcon" />
<asp:Label runat="server" ID="Min" />
<asp:Label runat="server" ID="Max" />
</td>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
下面是数据源类型
Tuple<string, string, double, double>
Run Code Online (Sandbox Code Playgroud)