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