C# ASP.Net Web应用程序dll加载问题
我有一个自定义dll加载到我的web应用程序中,我更新了它并在我的主web应用程序中重新加载了引用。基本上,它的工作方式是用户上传一个被dll中的函数检查的文件。然后,用户可以单击结果部分上的一个按钮,重定向到应用程序的主部分,以便他们可以选择重新运行检查程序;我之所以说section,是因为web应用程序使用了一个包含两个div的页面,一个用于表单,一个用于结果,后面的代码将表单div的可见性与结果div交换,下面是要说明的基本布局C# ASP.Net Web应用程序dll加载问题,c#,.net,asp.net,webforms,C#,.net,Asp.net,Webforms,我有一个自定义dll加载到我的web应用程序中,我更新了它并在我的主web应用程序中重新加载了引用。基本上,它的工作方式是用户上传一个被dll中的函数检查的文件。然后,用户可以单击结果部分上的一个按钮,重定向到应用程序的主部分,以便他们可以选择重新运行检查程序;我之所以说section,是因为web应用程序使用了一个包含两个div的页面,一个用于表单,一个用于结果,后面的代码将表单div的可见性与结果div交换,下面是要说明的基本布局 <body> <div id="div
<body>
<div id="divForm" style="visibility: visible;">
</div>
<div id="divResults">
</div>
</body>
以及文件检查器的主要部分:
protected void Page_Load(object sender, EventArgs e)
{
divForm.Visible = true;
divResults.Visible = false;
if (Page.IsPostBack)
{
//Do file checking
//Show results
divResults.Visible = true;
divForm.Visible = false;
}
}
web应用程序在第一次通过时运行良好,但是,我注意到在随后的每次通过后都会出现奇怪的行为。例如,我注意到结果页面显示了旧版本dll中的过时内容,也就是说,它显示了由旧版本dll生成的字符串,我删除了该字符串,但仍然生成了该字符串。我不确定我是否正确重定向,或者是否对重定向的工作方式存在其他一些基本误解。任何帮助或见解都将不胜感激
更新:
好的,我没有重定向,而是在结果部分中清除了一个gridview,并交换了div的样式,以显示主部分并隐藏结果部分,如下所示:
protected void btnReturn_Click(object sender, EventArgs e)
{
Response.Redirect("http://localhost/file_checker/");
}
protected void btnReturn_Click(object sender, EventArgs e)
{
//Clear the Gridview and show the upload Form
GridView1.DataSource = null; //<--Is popoulated by a DataTable
divForm.Visible = true;
divResults.Visible = false;
//Response.Redirect("http://localhost/file_checker/");
}
protectedvoidbtnReturn\u单击(对象发送方,事件参数e)
{
//清除Gridview并显示上载表单
GridView1.DataSource=null;//响应。重定向向浏览器发送302响应。然后浏览器向新位置发出新请求。因此,这不是服务器端操作,浏览器可以缓存响应而不再进行调用。请尝试附加querystring参数以使浏览器执行真正的请求。如果您有FIDLEr可用时,您可以使用它进行验证,但您可能是从缓存中获取页面
protected void btnReturn_Click(object sender, EventArgs e)
{
Response.Redirect(String.Format("http://localhost/file_checker/?{0}", DateTime.Now.Ticks));
}
什么是“Visibility:hidden”?看起来像CSS,但它不在style=“”属性中。我假设是psuedocode。他还需要runat=“server”和visible=“true”或visible=“false”在aspx页面中执行此操作。抱歉,我会更正,没有隐藏可见性。您可以忽略,抱歉造成混淆。对不起,fiddler到底是什么?它是一个web调试代理。使用它,您可以查看浏览器发出的请求并查看服务器响应。它是调试网站的非常方便的工具,尤其是使用ajax的软管。你可以在这里看到:谢谢NerdFury,我会调查的。我被召回到另一个项目,但我今天晚些时候会回到这里。感谢你的帮助。