ASP webcontrols不会向我显示新值

时间:2015-03-13 14:38:33

标签: c# asp.net

我正在开发一个asp项目(使用C#),我需要一种从地图(带文件)更新文件的方法。我用以下形式创建了一个asp:Content块:

<form id="editForm" runat="server">

        <table class="table table-hover">

          <tbody>
            <tr>
              <td><h4><asp:Label id="Label1" runat="server" Text="title"/></h4></td>
              <td><asp:Textbox id="pageName" runat="server"/></td>
            </tr>
            <tr>
              <td><h4><asp:Label id="Label3" runat="server" Text="pageurl"/></h4></td>
              <td><asp:Textbox id="pageURL" runat="server"/></td>
            </tr>
          </tbody>
        </table>
                <div id="ckeditor_div" runat="server">>
            <CKEditor:CKEditorControl ID="CKEditor1" runat="server">
            </CKEditor:CKEditorControl>
               </div>
     <asp:Button ID="editButton" OnClick="Save" Text="save" runat="server"/>
     <br>
    <br>
    <asp:Label id="resultLabel" runat="server" />
   </form>

这个asp:Content块也有一个Page_Load方法和一个Save方法。

        void Page_Load(Object Sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                if (!string.IsNullOrEmpty(Request.QueryString["title"]))
                {
                    string url = Request.QueryString["title"];
                    string[] htmlFile = System.IO.Directory.GetFiles(Server.MapPath("~/App_Data/"), url).Select(path => System.IO.Path.GetFileName(path)).ToArray();

                    //if file exists
                    if (htmlFile.Length > 0)
                    {
                        //get file contents
                        string contents = System.IO.File.ReadAllText(Server.MapPath("~/App_Data/") + url);

                        //get's title
                        int tFirst = contents.IndexOf("<title>") + "<title>".Length;
                        int tLast = contents.LastIndexOf("</title>");
                        String nameResult = contents.Substring(tFirst, tLast - tFirst);

                        //get's editable code
                        int cFirst = contents.IndexOf("<div id='content'>") + "<div id='content'>".Length;
                        int cLast = contents.LastIndexOf("</div>");
                        String codeResult = contents.Substring(cFirst, cLast - cFirst);

                        //give CKEditor editable code to edit
                        CKEditor1.Text = codeResult;


                        //show page url
                        string sub = url.Substring(0, url.Length - 5);
                        pageURL.Text = sub;
                        pageName.Text = nameResult;
                    }


                }

            }
        }

void Save(Object Sender, EventArgs e)
        {
            string newTitle = pageName.Text;
            string newURL = pageURL.Text;

            string editedURL = newURL.Replace(" ", "-");
            string newCode = CKEditor1.Text;

        }

当我运行页面时,表单将填充所选文件中的信息。这有效。更改了一些值并按Save后,将返回旧的原始值(加载时插入.Texts中的值)。我怎样才能获得新的,编辑过的值?我做错了吗?

编辑:没关系。忘了if(!IsPostBack)循环。现在,如果你能原谅我,我现在会萎缩起来哭泣。

0 个答案:

没有答案