Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 阅读<;李>;代码隐藏中的属性_C#_Jquery_Asp.net - Fatal编程技术网

C# 阅读<;李>;代码隐藏中的属性

C# 阅读<;李>;代码隐藏中的属性,c#,jquery,asp.net,C#,Jquery,Asp.net,我有一份清单,例如: <ul id="list"> <li id="content_rptGalleryImages_galleryListItem_0" data-imageid="7" data-displayorder="0"></li> <li id="content_rptGalleryImages_galleryListItem_1" data-imageid="5" data-displayorder="1"></l

我有一份清单,例如:

<ul id="list">
   <li id="content_rptGalleryImages_galleryListItem_0" data-imageid="7" data-displayorder="0"></li>
   <li id="content_rptGalleryImages_galleryListItem_1" data-imageid="5" data-displayorder="1"></li>
   <li id="content_rptGalleryImages_galleryListItem_2" data-imageid="4" data-displayorder="2"></li>
</ul>
我想达到的目标可能吗?如果没有,你能建议一种替代方法吗

根据请求编辑*转发器代码:

protected void rptGalleryImages_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
    {
        BrandImage image = (BrandImage)e.Item.DataItem;
        HyperLink lnkGalleryImage = (HyperLink)e.Item.FindControl("lnkGalleryImage");
        HyperLink lnkImageUrl = (HyperLink)e.Item.FindControl("lnkImageUrl");
        LinkButton lnkBtnRemoveImg = (LinkButton)e.Item.FindControl("lnkBtnRemoveImg");
        HtmlGenericControl galleryListItem = (HtmlGenericControl)e.Item.FindControl("galleryListItem");

        lnkGalleryImage.Text = image.ImageLocation.Substring(image.ImageLocation.LastIndexOf("/")).Replace("/", "");
        lnkGalleryImage.NavigateUrl = image.ImageLocation;

        lnkImageUrl.Text = image.ImageUrl;
        lnkImageUrl.NavigateUrl = image.ImageUrl;

        lnkBtnRemoveImg.CommandArgument = image.ImageLocation;

        galleryListItem.Attributes.Add("data-imageid", image.Id.ToString());
        galleryListItem.Attributes.Add("data-displayorder", image.DisplayOrder.ToString());
        }
    }

感谢浏览器不会在post请求上发送
li
元素属性,因为它不被视为表单post变量。这使得用户保存时无法在服务器上检索属性值

一个可行的选项:

  • 使用各自的订单值填充每个项目的隐藏字段,并在用户重新排序时使用javascript更改该值
  • 当他保存时,您从每个项目的hiddenfield中获取值并保存在数据库中

这是
字典dict=new Dictionary()有效的javascript?在我看来像java。您的LIs列表是通过渲染动态添加的吗?或者它们是动态添加到客户端的?@wagregg li是通过中继器添加的,我在客户端用一些jquery@DGibbs那么jQuery代码在哪里呢?不确定您想要实现什么,但也许您可以在绑定中继器时构建字典,并将字典存储在页面视图状态中(见附件)我认为这可能会起作用,使用+1。不确定如何在我的文档中找到隐藏字段元素,因为它将生成服务器id?我可以使用clientid或其他什么吗?是的,它将同时具有服务器id和客户端id。要在客户端获取它,可以使用clientid HiddenField服务器属性。甚至可以尝试为H使用不同的ClientModeiddenField在这个案子上。
protected void rptGalleryImages_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
    {
        BrandImage image = (BrandImage)e.Item.DataItem;
        HyperLink lnkGalleryImage = (HyperLink)e.Item.FindControl("lnkGalleryImage");
        HyperLink lnkImageUrl = (HyperLink)e.Item.FindControl("lnkImageUrl");
        LinkButton lnkBtnRemoveImg = (LinkButton)e.Item.FindControl("lnkBtnRemoveImg");
        HtmlGenericControl galleryListItem = (HtmlGenericControl)e.Item.FindControl("galleryListItem");

        lnkGalleryImage.Text = image.ImageLocation.Substring(image.ImageLocation.LastIndexOf("/")).Replace("/", "");
        lnkGalleryImage.NavigateUrl = image.ImageLocation;

        lnkImageUrl.Text = image.ImageUrl;
        lnkImageUrl.NavigateUrl = image.ImageUrl;

        lnkBtnRemoveImg.CommandArgument = image.ImageLocation;

        galleryListItem.Attributes.Add("data-imageid", image.Id.ToString());
        galleryListItem.Attributes.Add("data-displayorder", image.DisplayOrder.ToString());
        }
    }