0
我正在使用asp:Button標記的OnClick來計算一個報告,我想將其顯示爲div標記的innerHTML。我想使用Response.WriteLine方法來返回這個html文件。 ASP.NET webforms是否提供了捕獲此響應的方法?asp:按鈕如何捕獲Response.WriteLine
我被迫改用JavaScript嗎?我在服務器端使用C#。
我正在使用asp:Button標記的OnClick來計算一個報告,我想將其顯示爲div標記的innerHTML。我想使用Response.WriteLine方法來返回這個html文件。 ASP.NET webforms是否提供了捕獲此響應的方法?asp:按鈕如何捕獲Response.WriteLine
我被迫改用JavaScript嗎?我在服務器端使用C#。
Web窗體這樣做的方法是使用控件並從後面的代碼中設置其InnerHTML。這裏是一個獨立的例子:
<%@Page Language="C#" AutoEventWireup="true" %>
<script runat="server">
protected void GenerateReport(object sender, EventArgs e)
{
var reportHTML = "<p>This is a <span style='font-weight: bold;'>report!</span></p>";
ReportDiv.InnerHtml = reportHTML;
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
</head>
<body>
<form runat="server">
<asp:Button runat="server" OnClick="GenerateReport" Text="Generate Report" />
<div runat="server" id="ReportDiv"></div>
</form>
</body>
</html>
爲什麼'Response.WriteLine'?這很愚蠢。沒有必要直接寫回應答。只需使用提供給您的控件將生成的HTML分配給div。 – mason
你有什麼建議?什麼導致頁面刷新? –
按鈕點擊會導致頁面發起回發。如果你不想這樣做,你需要了解AJAX和類似的技術。你有在使用什麼平臺的選擇嗎? Web Forms是一個古老的,古老的垃圾。如果您是第一次學習,我建議您學習[ASP.NET MVC](https://www.asp.net/mvc),或者如何將客戶端框架(如Angular)與服務器端端點(如[Web API](https://www.asp.net/web-api))。 – mason