HTML表单提交,。Net,将字段保存为XML

时间:2014-03-27 16:53:01

标签: c# jquery html asp.net

我们有一个带有表单的HTML页面。 我们正在使用jQuery AJAX从XML文件预填充表单。

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

我们的问题是,为了将信息保存在表单中并保存在我们的XML文件中,ASP.Net/C#会是什么样子。

提前致谢。

修改

这是我们的例子:

 <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>

希望这有助于解决我的问题。

1 个答案:

答案 0 :(得分:0)

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

<强> 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#Code-Behind: 您需要参考以下内容:

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
}