HTML表单提交,. net,保存字段为XML

本文关键字:XML 字段 net 表单提交 HTML 保存 | 更新日期: 2023-09-27 17:54:21

我们有一个HTML页面,上面有一个表单。我们使用jQuery AJAX从XML文件预填充表单。

我们希望表单在提交时保存在default.xml文件上。我们很可能会使用ASP。Net作为服务器端。

我们的问题是,ASP是多少?. net/c#看起来像为了保存在表单中的信息,并保存在我们的XML文件。

提前感谢。

编辑

这是我们的例子:

 <option id="timeBlockOne">
  <select>12:00</select>
  <select>1:00</select>
 </option>
<option id="titleBlockOne">
<select>Title One</select>
<select>Title Two</select>
</option>
 <option id="titleBlockTwo">
 <select>Title three</select>
 <select>Title Four</select>
 </option>
 <option id="timeBlockTwo">
 <select>12:00</select>
 <select>1:00</select>
 </option>
 ...etc up to 10 blocks.
  <button action="Post">Submit</button>

期望的XML输出。

 <main>
    <itemOne>
      <timeBlockOneValue>Value selected from form</timeBlockOneValue>
      <titleBlockOneValue>Value Selected from form</titleBlockOneValue>
    </itemOne>
    <itemTwo>
      <timeBlockTwoValue>Value selected from form</timeBlockTwoValue>
      <titleBlockTwoValue>Value Selected from form</titleBlockTwoValue>
    </itemTwo>
     ...etc
 </main>

希望这对我的问题有所帮助。

HTML表单提交,. net,保存字段为XML

好的,这里有一个可能的方法让你走上正轨,如果这不是很清楚,请告诉我。

JavaScript:

function GetXMLButton() {
    var xml = "<main>";
    var i = 1;
    // Loop for each OPTION element in the myForm div
    $("#myform select").each(function() {
        // Get value of selected option.
        var selectedValue = $(this).val();
        xml = xml + "<item_" + i + "><" + this.id + ">" + selectedValue + "</" + this.id + "></item_" + i + ">";
        i++;
    });
    xml = xml + "</main>";
    // Call C# WebMethod to save into xml file
    PageMethods.SaveXMLFile(xml); 
}

ASPX:确保在ScriptManager对象中设置EnablePageMethods = true。另外,我认为你可能已经切换了你的OPTION和SELECT标签,检查你的代码,它应该是SELECT然后OPTION标签。

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
    <asp:UpdatePanel runat="server" ID="fileupdatepanel">
        <ContentTemplate>
            <div id="myForm">
                <select id="timeBlockOne">
                    <option selected>12:00</option>
                    <option>1:00</option>
                </select>
                <select id="titleBlockOne">
                    <option>Title One</option>
                    <option selected>Title Two</option>
                </select>
                <select id="titleBlockTwo">
                    <option selected>Title three</option>
                    <option>Title Four</option>
                </select>
               <select id="timeBlockTwo">
                   <option>12:00</option>
                   <option selected>1:00</option>
               </select>
           </div>
       </ContentTemplate>
   </asp:UpdatePanel>
 <asp:Button ID="button1" runat="server" Text="Get XML" OnClientClick="return GetXMLButton();" /> 
c#后台代码:

您需要引用以下内容:

using System.Web.Services;

然后添加以下方法,并确保将[WebMethod]放在方法声明之前:

[WebMethod]
public static void SaveXMLFile(string formXMLData)   
{
    // Put your code to convert formXMLData string to an XML File and save/upload on/to server
}