繁体   English   中英

如何修改Javascript中的HTML,然后在回发中读取ASP.NET中的更改?

[英]How to modify the HTML in Javascript and then read the changes in ASP.NET on the postback?

这是两个问题,我在很多地方都进行了研究,无法针对这种特定情况提出解决方案。

我将让用户使用单个文本字段输入多个值,例如:

<div style="margin-left: 5px; display: block;">
    <div id="divTemplateLine" style="display: none;">
        <a href="javascript:" onclick="javascript: RemoveLine(this);">x</a>
    </div>
</div>  

在此处输入图片说明

使用Javascript,“添加”按钮将继续克隆divTemplateLine并将文本包含在父节点中。
我一切都很好。

现在,我想在回发中阅读所有这些行(鲑鱼,汤,味mis,日语)。
我假设此时我处于解析HTML的领域,因为我添加的这些div不是“运行”服务器。

一个答案可能是使用服务器运行的隐藏值,该Javascript会不断附加值。是的,这是一个很好的解决方案,但是我想看看如何解析HTML元素和节点,就像我做的那样。 Javascript,因为我的实际情况比单个值复杂,所以隐藏的值不会完全起作用。

欢迎任何输入和/或判断。

解决方案是保留数据的两个版本,一个在用户上显示,另一个在隐藏的输入上,回发并获取用户选择并保存的数据。

例如,当您的用户输入“ 大马哈鱼 ”时,您既可以将其放置在html渲染中,又可以使用序列化的方式放置在输入隐藏控件上。 当用户删除它时,您也将从隐藏控件中将其删除。

最后,您将拥有类似的内容,然后将其回发并进行分析并将其保存在数据库中。

<input name="final_select" type="hidden" value="salmon;soup;miso;japanese" />

@BeemerGuy:采取一个文本框并自动完成扩展程序,如下所示:

<asp:TextBox ID="txtCustName" AutoPostBack="true" AutoComplete="off" runat="server"
                OnTextChanged="txtCustName_TextChanged" />
            <cc1:AutoCompleteExtender ID="ace1" TargetControlID="txtCustName" ServiceMethod="GetCustomers"
                MinimumPrefixLength="1" OnClientItemSelected="ace1_itemSelected" FirstRowSelected="true"
                runat="server" />

自动完成扩展器具有服务方法属性,当您在文本框中输入文本时将调用该属性,并将在列表视图中添加文本框值

<< * ** * ** Web方法代码在这里* ** * ** >>

 ListBox list = new ListBox();
[WebMethod]
public static DataSet GetCustomers(string prefixText)
{
   list .Items.Add(New ListItem(prefixText, 0));

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM