[英]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.