停止从cs发生回发

问题描述 投票:-2回答:1

我的代码验证来自cs页面的一些字段,如果txtRedirectSource == txtRedirectLocation我想停止函数执行 - 如:jquery中的e.preventDefault()

public int GetHtml() 
{
     if (txtRedirectSource.Equals(txtRedirectLocation))
     {
        // e.preventDefault();
        // return false;
     }

     .... // the function continue
     .....
}

我试图使用returnThrow一个例外 - 但那些结果是一个我不想发生的回发

c# asp.net
1个回答
1
投票

发生这种情况的原因是因为您执行服务器端事件。服务器执行后,它将根据请求呈现页面。您可以获得的最接近的是模型绑定,这会导致在回发之前验证绑定器模型。

更多细节可以在model binders找到。

为了说明服务器端事件处理,请使用以下代码段:

在开发Web应用程序时,可以使用多种服务器端技术。最受欢迎的是微软的ASP.NET。在ASP.NET中,服务器端代码使用.NET Framework,并使用C#和VB.NET等语言编写。服务器端处理用于与数据库或文件等永久存储进行交互。服务器还将页面呈现给客户端并处理用户输入。当首次请求页面以及将页面发回服务器时,会发生服务器端处理。服务器端处理的示例是用户验证,保存和检索数据以及导航到其他页面。

服务器端处理的缺点是页面回发:它可能引入处理开销,这会降低性能并迫使用户等待页面被处理和重新创建。将页面发回服务器后,客户端必须等待服务器处理请求并将页面发送回客户端。

© www.soinside.com 2019 - 2024. All rights reserved.