如何在Asp.Net主页面上使用POST方法?

时间:2011-10-11 07:56:33

标签: asp.net master-pages

我有一个母版页,在另一个asp.net表单中我需要调用一个方法来.ashx文件,如下所示:

由于我对按钮有问题,因为无论按哪个按钮,我都会点击它发回我不想要的内容。

 <form id="Form1" action="Upload.ashx" method="POST" enctype="multipart/form-data"
    runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div id="fileupload" style="border: thin solid #666666; width: 600px; height: 520px;
        z-index: 1; left: 18px; top: 22px; position: absolute; overflow: auto;">
        <div class="fileupload-buttonbar">
            <label class="fileinput-button">
                <span>Add files...</span>
                <input type="file" name="files[]" multiple="multiple" />
            </label>
            <button type="submit" class="start">
                Start upload</button>
            <button type="reset" class="cancel">
                Cancel upload</button>
            <button type="button" class="delete">
                Delete all files</button>
            <div class="fileupload-progressbar">
            </div>
        </div>
        <div class="fileupload-content" style="border-style: none">
            <table class="files">
            </table>
            </div>
        </div>
</form>

这是不可能的,因为我有一个内容页面。

那么我如何在基于母版页的asp.net表单的内容中做到这一点。

1 个答案:

答案 0 :(得分:1)

您不能将服务器端表单标记发布到其他页面。服务器端表单控件旨在回发给自己(它忽略了操作属性) - 这就是为什么你看到你的页面被发布到(内容)页面的原因。主页面实际上不是页面而是模板/布局 - 内容页面表示实际页面(主页面实际上是控件树被合并到内容页面树中的控件)。

您还可以使用服务器端按钮控件cross-page posting in ASP.NET

但是,我相信无论您想要实现什么,都需要创建单独的 html表单标记。例如,

...

<!-- server side form - do not touch -->
<form id="Form1" runat="server">
... 
</form>

...

<!-- you can have multiple html form tags but you cannot use server controls -->
<form action="Upload.ashx" method="POST" enctype="multipart/form-data">
...
</form>

...