簡體   English   中英

如何防止服務器按鈕刷新ASPX視圖?

[英]How do I keep a server button from refreshing an ASPX View?

我在MVC應用程序中有一個ASPX視圖,該視圖具有FileSelector,一個標簽和一個按鈕,該按鈕應該將FileSelector的選定文件名和大小放入標簽中(這是出於測試目的;最終版本將發送FileSelector的FileBytes字節數組到SQL Server數據庫)。 糟糕,當我按下按鈕時,頁面會刷新,並且標簽不變。

這是視圖代碼:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html>

<html>
<script runat="server" language="C#">
    void btnLoad_Click(Object sender, EventArgs e)
    {
        byte[] B = FileSelector.FileBytes;
        lblStatus.Text = "File \"" + FileSelector.FileName + "\" has size " + B.Length;
    }
</script>
<head runat="server">
    <title>ABMC - Add Photo (ASPX version) </title>
</head>
<body>
    <div>
    <form runat="server">
    <asp:FileUpload ID="FileSelector" runat="server" />
    <br /><br />
    <asp:Button ID="btnLoad" Text="Load" runat="server" OnClick="btnLoad_Click" />
    <br /><br />
    <asp:Label ID="lblStatus" runat="server">No file selected yet</asp:Label>
    </form>
    </div>
</body>
</html>

當我選擇一個文件然后單擊“加載”按鈕時,頁面將刷新,並且標簽仍顯示為“尚未選擇文件”。

我確實設法通過使用單獨的ASPX表單(代碼在單獨的.aspx.cs文件中)而不是MVC視圖來使其工作(某種程度上),但是我必須將模型傳回給稱為此頁面,所以我希望在View中執行此操作。

也許您需要在btnLoad_Click調用中添加“ return false”。 嘗試使用return btnLoad_Click並從該函數返回false。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM