我正在使用数据列表控件。如何在数据列表中添加行分隔符?我连续有多个项目,并且我正在使用 .Net 2.0。
分隔符模板适用于每个项目而不是每行。
我想像这样显示它。
row1-> item1 item2
---separator
row2-> item3 item4
---separator
row3-> item5 item6
Run Code Online (Sandbox Code Playgroud) 我在asp.net C#中使用DataList.我想将字符串作为项添加到datalist.我通过以下代码执行此操作:
ArrayList al = new ArrayList();
for (int i = 0; i < 2; i++) {
al.Add(i.toString());
}
DataList2.DataSource = al;
DataList2.DataBind();
Run Code Online (Sandbox Code Playgroud)
但是当我运行程序时,我看不到数字0和1.相反,我看到下面的图片作为datalist:
我的号码在哪里?有人知道任何解决方案吗?注意,任务是向数据列表添加字符串数组.
数据列表代码是:
<asp:DataList ID="DataList2" runat="server" BackColor="White"
BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4"
GridLines="Both">
<FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
<ItemStyle BackColor="White" ForeColor="#330099" />
<SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
</asp:DataList>
Run Code Online (Sandbox Code Playgroud)
此外,是否可以向数据列表添加滚动?
我正在尝试使用子DataList创建一个DataList,用于模板中循环内的循环:
public function getAllCategoriesAndEntrys(){
$categories = FitoCategory::get();
foreach ($categories as $category) {
$category->entries = $this->Items($category->ID);
}
return $categories;
}
Run Code Online (Sandbox Code Playgroud)
我的模板看起来像这样:
<% loop getAllCategoriesAndEntrys() %>
$ID $Title <br>
<% loop entries %>
------ $Title <br>
<% end_loop %>
<% end_loop %>
Run Code Online (Sandbox Code Playgroud)
在我的例子中,我确信:
FitoCategory::get()
- 返回对象类型中的所有'FitoCategory' DataList
;
$this->Items($category->ID)
- DataList
按ID 返回FitoCategory的所有子条目;
我需要一个绑定代码:
$category->entries = $this->Items($category->ID);
Run Code Online (Sandbox Code Playgroud) 我将 10 个选项传递给 datalist,这些选项在下拉列表中显示得很好。但有时我会在选项列表底部看到更多由水平线分隔的选项(Chrome 可能正在缓存或重复显示某些选项)。我不明白为什么 chrome 会显示这些由水平线分隔的额外选项
我有一个显示一组元素的DataList控件.当用户点击列表中的元素时(例如,列表元素的根目录中的任何位置),任何人都可以指出我正确的方向,即如何添加一些客户端功能来提交/执行回发.我已经看到一些例子,添加一个隐藏的LinkButton并连接它 - 但我还没有让它正常工作.
干杯,
--larsw
感谢您的帮助 - 我选择了jQuery方法.你知道我是否可以从lambda函数(对于所选项目)调用隐藏的asp:LinkButton,以便发回帖子?
在您的代码示例中有一个小错误(如果有其他人读取此线程):我必须在jQuery选择器中添加一个#; ' # <%= DataList1.ClientID%> td'
--larsw
下面的代码非常适合绑定从网上抓取的实际网址.我的问题是它不适用于生成图像的*.aspx网址.如果我转到*.aspx页面"〜/ UserPages/Photo/GetThumbnail.aspx?id = 7",图像显示就好了.但是它不适用于datalist.任何想法为什么以及如何解决这个问题.谢谢!字符串数组'imageurls'由许多*.aspx图像网址组成.
<asp:DataList ID="dlImages" runat="server"
RepeatColumns="5"
RepeatDirection="Horizontal"
RepeatLayout="Flow">
<ItemTemplate>
<img src="<%# (string)Container.DataItem %>" />
</ItemTemplate>
</asp:DataList>
Run Code Online (Sandbox Code Playgroud)
代码背后
protected void BindImages(string[] imageurls)
{
dlImages.DataSource = imageurls;
dlImages.DataBind();
}
Run Code Online (Sandbox Code Playgroud) 我在DataList中有一个DataList,导致我的页面丢失控件.页面有效,没有错误,但我的标签永远找不到!这很奇怪,因为标签显示在aspx页面上,它只是不删除我想要删除的2个项目.在调试时,它会完全跳过If语句:
If lbl IsNot Nothing Then
If lbl.Text = "Self Directed" Or lbl.Text = "Systems" Then
lbl.Visible = False
End If
End If
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它认为Label是Null,因为它从数据库中提取信息并且没有空值.
Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
'Find the controls that are inside the DataList
Dim anstype As HiddenField = e.Item.FindControl("HiddenField1")
Dim questionid As HiddenField = e.Item.FindControl("HiddenField2")
Dim rbl As RadioButtonList = e.Item.FindControl("RadioButtonList1")
Dim cbl As CheckBoxList = e.Item.FindControl("CheckBoxList1")
Dim txt As …
Run Code Online (Sandbox Code Playgroud) 我有一个数据列表绑定到数据库,现在标签更改为链接按钮
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" >
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("username") %>'>
</asp:LinkButton>
.....some other datalist item
</ItemTemplate>
</asp:DataList>
Run Code Online (Sandbox Code Playgroud)
对于这种情况,我希望链接按钮启动一个新页面,其中Eval("用户名")值传递给新页面.
我正在考虑使用会话等传递它....
string any_variable ;
session["Picked_username_from_datalist"] = any_variable ;
response.redirect("newpage.aspx");
Run Code Online (Sandbox Code Playgroud)
这样我可以操纵我将使用会话传递的变量.
但我的问题是我不知道如何将Text ='<%#Eval("username")%>分配给变量any_variable .....
~~变量的赋值取决于绑定到数据库的数据绑定文本....例如......第一个链接按钮文本是username1,第二个是username2,依此类推根据我的SQL select命令.....
我需要选择的Text ='<%#Eval("username")%>,以便我可以操作信息以根据值显示另一个数据绑定控件.
有谁能够帮我?
我一直在尝试使用如下参数传递sql查询中的变量值:
SELECT TOP 5 *
FROM Events
WHERE EID NOT IN (SELECT TOP @limit EID FROM Events ORDER BY EID)
Run Code Online (Sandbox Code Playgroud)
用于在参数值指定的前n行之后查找记录@limit
.
例如,如果我指定值10,则查询返回第6-10行.
现在我正在做的是
string str = "SELECT TOP 5 * FROM Events WHERE EID NOT IN (SELECT TOP @limit EID FROM Events ORDER BY EID)"
SqlCommand cmd=new SqlCommand(str,con); // con is the connection string
cmd.Parameters.AddWithValue("limit", value);
SqlDataAdapter sda= new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
sda.Fill(ds);
return ds;
Run Code Online (Sandbox Code Playgroud)
ds
然后将数据集绑定到a Datalist
.
目前抛出一个错误说
"@limit附近的语法不正确"
代码有什么问题..?
出于不同的原因,我想摆脱 Jquery UI 自动完成功能,并将其替换为具有动态加载选项字段的 HTML5 数据列表。我在这个主题上搜索了好几天,并在 stackoverflow 上找到了不同的答案,例如How do youfresh an HTML5 datalist using JavaScript? 我认为这与我搜索的内容非常接近。
我想要用于选择标签的数据列表,这些标签将在输入字段中以逗号分隔。问题是数据列表仅正确显示第一个标签。输入“字母”时不会显示第二个建议。
现在进入流程:
打字:应用程序
服务器响应:
['apple','pinapple','snapper']
Run Code Online (Sandbox Code Playgroud)
显示的数据列表建议:
apple
pinapple
snapper
Run Code Online (Sandbox Code Playgroud)
我现在选择:apple,将其写入输入字段,然后:
键入: , 在
服务器响应:
['intest','instructor','insula']
Run Code Online (Sandbox Code Playgroud)
显示的数据列表建议:什么都没有,这就是问题所在
但:
如果我现在按退格键并删除最后一个符号,则输入字段中现在显示:
apple, i
Run Code Online (Sandbox Code Playgroud)
然后 Firefox 显示为选项:
apple, intest
apple, instructor
apple, insula
Run Code Online (Sandbox Code Playgroud)
我知道有一个与值或innerHTML字段的比较,所以我使用:
<option value="apple, intest">apple, intest</option>
Run Code Online (Sandbox Code Playgroud)
现在是代码示例:
超文本标记语言
<input list="autocompleteList" type="text" class="form-control" name="Tags" id="Tags">
<datalist id="autocompleteList"></datalist>
Run Code Online (Sandbox Code Playgroud)
JS
// Used for querying only the last word of input field
function extractLast( term ) { return split( …
Run Code Online (Sandbox Code Playgroud) datalist ×10
asp.net ×5
c# ×3
html ×2
javascript ×2
sql ×2
add ×1
ajax ×1
arrays ×1
bind ×1
client-side ×1
dhtml ×1
findcontrol ×1
jquery ×1
loops ×1
silverstripe ×1
vb.net ×1