使 ASP.Net 中的 URL 对用户友好

2024-01-26

我正在尝试使用 Web 窗体在 ASP.Net 中开发我的第一个网站。

我有一个带有一些控件和一个 TextBox 控件的表单。虽然现在我用GET要求。当用户提交表单时,他的浏览器期望获得长 URL,例如

http://mysite.com/search.aspx?__VIEWSTATE=%2FwEPDwUJNTE2NjY5jMY4D2QWAgICD2QWAgIDDW8wAh4EVGV4dAUBMWRkZKthQ0zeIP5by49qIHwSuW6nOj8iLTdoCUzpH369xyg8&__EVENTVALIDATION=%2FwEWAwLnrcHhBQLs0bLrBgKM54rGBjGtX5fJOylLy4qRbt6DqPxO%2FnfcMOkHJBRFqZTZdsBD&TextBox1=sfs&Button1=Button

如果他的输入是一个单词sfs in TextBox1。 所以我需要回复他。我想在用户友好的 URL 上显示此响应,例如

http://mysite.com/search.aspx?TextBox1=sfs

or http://mysite.com/sfs

or http://mysite.com/search/sfs

我怎样才能做到这一点?如果我使用 Response.Redirect,它首先返回 302,然后才处理短 URL。 Server.Transfer 不会更改 URL,用户会在浏览器中看到丑陋的长 URL。

在我看来,可以通过以下方式解决RouteCollection.MapPageRoute它出现在 4.0 Framework 中,但我不清楚如何使用它。

任何帮助表示赞赏。

更新。使用起来不是问题POST代替GET。但这样 URL 总是看起来像http://mysite.com/search.aspx

更新2。表单必须是服务器控件,并且它还有除提交和文本框之外的其他控件。这会很好(但是,如果此参数没有出现在浏览器中显示的 URL 中,则仍然没有必要。


不幸的是,使用 ASP.NET 服务器表单的 GET 请求总是会产生那些“丑陋”的 URL。

您可以做的一件事是将表单更改为常规表单,而不是服务器表单:

<form method="get" action="Search.aspx">
    <input type="text" name="query" />
    <input type="submit" name="SearchButton" value="Search" />
</form>

此解决方案的一个限制是您无法再在此表单中放置某些 ASP.NET 控件。例如,<asp:Button>控件在此窗体中不起作用,因为它必须包含在服务器窗体(即具有runat="server" on it).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使 ASP.Net 中的 URL 对用户友好 的相关文章

  • 从 javascript 调用 HttpHandler

    我有一个简单的页面 带有通过 JavaScript 调用 HttpHandler 的按钮 HttpHandler 获取大量文件并将它们添加到 zip 文件中 完成工作后 zip 文件将添加到 Response 中 此操作可能需要几分钟时间
  • 在 Dapper 中处理 Oracle 数据库连接

    我正在尝试连接到 Oracle 数据库并尝试执行查询 下面是我的模型类 using System using System Collections Generic using System Linq using System Web usi
  • ASP.NET MVC:我什么时候应该创建自定义视图引擎

    我知道什么View Engine是 我更喜欢使用Razor视图引擎只是因为它的语法简单ASPX引擎 内置视图引擎为您执行几乎所有任务 那么在什么情况下我应该创建自己的视图引擎 我用谷歌搜索了它 但得到了如何创建它的答案 而不是何时以及为什么
  • 仅在页面加载时执行 Javascript,而不是回发 (SharePoint)

    我正在尝试在 SharePoint 网站上的自定义页面上加载页面时执行一些 JavaScript 它使用当前用户填充人员选择器 问题是代码也在回发时执行 这是我不希望的 因为它会重置人员选择器的任何更改 我尝试过使用if IsPostBac
  • 如何将 .ashx 处理程序与 asp:Image 对象一起使用?

    我有一个 ashx 处理程序 using System using System Web public class Thumbnail IHttpHandler public void ProcessRequest HttpContext
  • 将 UserControl 转换为特定类型的用户控件

    有没有办法将用户控件转换为特定的用户控件 以便我可以访问它的公共属性 基本上 我正在遍历占位符的控件集合 并尝试访问用户控件的公共属性 foreach UserControl uc in plhMediaBuys Controls uc P
  • 如何使用 Windows 身份验证指定 Windows 用户从 ASP 连接到 MS SQL Server 数据库

    我已经尝试了一个多月的时间来将这里的 ASP 脚本连接到 SQL Server 数据库 但每次我使用这个连接字符串时 Data Source dbServer01 Initial Catalog POS123 Integrated Secu
  • 将 url 参数获取到 asp.net 标签中

    我试图自动将 asp label 的文本设置为 url 参数 但它似乎不起作用 这是我的代码
  • 从呈现的控件 ID 中删除 ctl00$ContentBody$

    我对现有的应用程序进行了一些更改 该应用程序以前只是简单的 HTML 和 Javascript 为了添加服务器端功能 我选择了 ASP NET 并利用了母版页概念 不幸的是 在一个巨大的 Web 表单上 控件 ID 全部被 ctl00 Co
  • 在多个网页(.cshtml 文件)中使用 Razor @functions

    我有以下功能 我希望可用于我的 asp net 网页 2 应用程序中的多个 cshtml 视图 如何使该功能可用于应用程序中的任何视图 而不是仅一个视图 functions public bool DisplayButton String
  • 设置 runat=server 时输入名称和 id 发生变化

    在我的表单中 我需要插入 文本 类型的不同输入 输入必须是带有名称和 ID 的 html 控件 因为我将此表单发送到外部网址 对于验证 我在所有输入中执行 runat server 然后我可以使用 requiredfieldvalidato
  • 如何在 MVC3 Razor 视图中呈现数据表

    我在 xls 电子表格 1 之间有一个可靠且经过测试的导入方法 该方法返回DataTable 我已将其定位在我的服务层中 而不是数据中 因为只有工作簿作为上传文件保存 但现在我想知道在哪里以及如何生成此内容的 HTML 表示形式DataTa
  • 您会认为这是单例/单例模式吗?

    想象一下 在 Global asax cs 文件中 我有一个实例类作为私有字段 我们这样说 private MyClass myClass new MyClass 我在 Global 上有一个名为 GetMyClass 的静态方法 它获取当
  • jQuery UI 对话框 + 验证

    我在单击 保存 后使用 Jquery Validate 验证 jQuery UI 对话框时遇到问题 这是我创建 Jquery 对话框的代码 它从目标 href URL 加载对话框 document ready dialogForms fun
  • ASP.NET预编译的优点是什么?

    使用 Aspnet compiler exe 代替通过 Visual Studio 进行的传统发布有多有用 那么资源 resx 文件又如何呢 与简单的 xcopy 相比 预编译有两个主要优点 文件系统不会包含所有代码 aspx文件和后面的所
  • 为什么 appcmd.exe 解锁配置在 Azure 模拟器上不起作用?

    我最近升级到 Azure 2 1 SDK 现在我的部分功能遇到了问题web config在计算模拟器上运行时处于 Web 角色中 我的web config包含这个
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 在 iFrame 内维护会话状态

    不确定我是否疯了 但我在 iFrame 内的会话状态遇到问题 它是一个域在另一个域中的简单设置 我不需要跨域共享任何内容 我想做的就是将一个网站嵌入到另一个网站中 并且我希望该嵌入网站能够使用 cookie 会话状态登录 编辑 更新 等 为
  • ASP.NET Click() 事件在第二次回发时不会触发

    我有一个 ASP NET Web 表单 我第一次提交表单时 会引发 提交按钮单击 事件 表单返回到浏览器时可能会出现验证错误 或者可以选择使用新值再次提交表单 当再次提交表单时 提交按钮单击 事件永远不会触发 Page Load 触发 但按

随机推荐

  • DB Design允许用户定义产品、产品规格并让自己插入订单

    我正在设计一个数据库 因为我需要开发这样一个 CRM 用户可以在其中指定新产品 产品规格和定价 然后让自己为上一步中指定的产品插入订单 当然 插入的数据需要根据它们在数据库中指定的内容进行评估 我举个例子可能会更清楚 user1 创建一个产
  • 我的项目不支持多设备屏幕视图

    我有一个菜单屏幕 XML 当我打开项目宽屏幕时 它不适应所有屏幕尺寸 我怎样才能克服这个问题 当我想添加有关此问题的图片时 我认为我需要 10 次代表 观点 有人可以帮助我吗
  • 寻找 C++ 的应用程序 GUI 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在考虑编写一个非常简单的绘画程序 我想要一种更高级的方法来将数据输入到我的程序中 例如颜色 画笔的
  • 命名空间“卡住”为终止,我如何删除它

    我有一个 卡住 的命名空间 我删除了它 显示在这个永恒的 终止 状态中 假设您已经尝试强制删除资源 例如 Pod 停留在终止状态 https stackoverflow com q 35453792 而你却束手无策地试图恢复名称空间 您可以
  • 命令行从 TFS“获取最新”,无需映射工作区等

    我假设 tf exe get project recursive 需要这个奇怪的工作区映射 已知的 TFS 服务器等 有什么办法可以做这个最简单的事情 连接到thisTFS 服务器使用this一组凭据 获取最新的源代码this项目并把它he
  • 如何从程序窗口外部获取鼠标事件

    我想拖动这个角色 图像 所以我使用这个方法来获取鼠标位置 WndProc HWND hWnd UINT message WPARAM wParam LPARAM lParam switch message case WM LBUTTONDO
  • 具有白色轮廓的 OpenGL 彩色位图字体

    我有一个 libgdx 游戏 我想在其中使用带有轮廓的位图字体 我希望能够使用 setColor 设置字体颜色 但是 我总是希望轮廓保持白色 对我来说实现这一目标的最佳方法是什么 我假设我应该使用片段着色器进行所需的颜色操作 我创建了一个位
  • 在finally块中抛出异常

    有没有一种优雅的方式来处理抛出的异常finally block 例如 try Use the resource catch Exception ex Problem with the resource finally try resourc
  • 找不到方法 android java.lang.NoClassDefFoundError 引用的类

    我正在调用一个单独的类 我已经在与我的包相同的包中编写了MainActivity类已保存 但是当我运行该应用程序时它给了我java lang NoClassDefFoundError 我不明白为什么无法识别同一包中定义的另一个类 我尝试过很
  • 在使用关联类型的情况下,如何为通用容器实现 Borrow?

    我想实施Borrow for UserFriendlyDataStructure提供对internal data函数内的字段应该与数据提供者无关 的类型internal data字段由与特征相关的类型决定TraitA 请注意 Sealed特
  • X500主要杰出姓名顺序

    我使用 Bouncycastle 库通过 X509v3CertificateBuilder 类从 PKCS10 请求生成证书 它返回构建一个包含生成的证书的 X509CertificateHolder 对象 如果我在持有者上调用 getIs
  • SoundCloud 自动在其移动网站上播放下一首歌曲如何?

    好的 我知道 iOS 不允许自动播放 但是 SoundCloud 如何在其移动网站上自动播放下一首歌曲呢 我可以获得我想要填充 iframe src 的下一首歌曲 并且小部件会重新加载以显示该曲目 我尝试了很多解决方法 即使我在下一首曲目准
  • Python 脚本的桌面启动器以错误的路径启动程序

    我无法从 Linux Mint 17 1 Cinnamon 上创建的 desktop 启动器启动 python 脚本 问题是脚本将在错误的路径中启动 即主文件夹而不是它所在的目录 因此 它无法在其文件夹中找到伴随它的其他重要文件 因此无法工
  • 检查列表是否由 X 的 N 个实例组成(重复 X N 次)

    给定一个查询 例如 containsN 4 2 Z 我应该得到 Z 2 2 2 2 or containsN 4 W 3 3 3 3 我应该得到 W 3 换句话说 对于第一个示例 我需要绑定到 Z 的列表中 2 的 4 个实例 对于第二个示
  • 使用 Python 从法语 Word 文档中提取 XML 时出现问题:生成非法字符

    在过去的几天里 我一直在尝试创建一个脚本 该脚本将 1 从 Word 文档中提取 XML 2 修改该 XML 3 使用新的 XML 创建并保存新的 Word 文档 在许多 stackoverflow 用户的帮助下 我最终找到了看起来非常有前
  • 如何在 iPadOS15 safari 中禁用放大镜

    我想禁用当我们长按任何 html 元素时出现的文本放大镜 它开始再次出现在 iOS 15 中 我尝试了以下方法 但在 iOS 15 上不起作用 在 iOS html 应用程序中禁用放大镜 https stackoverflow com qu
  • OSGi 配置管理服务的现有实现?

    我们正在考虑使用配置管理服务作为主要 API 用于配置基于 OSGi 的应用程序中的组件 如果我们可以重用一些现有的实现 那就太好了 所以我正在尝试调查和评估最受欢迎的实现 我知道有 Apache Felix 配置管理 http felix
  • UIPageViewController/TextKit 在分页上回流文本

    我正在开发一个由 TextKit 支持的多页阅读应用程序 该应用程序基于 WWDC 2013 的 Advanced Text Layouts and Effects with Text Kit 会议 但有些代码是根据不完整的示例重建的 基本
  • 为什么我应该更喜欢 `Option::ok_or_else` 而不是 `Option::ok_or`?

    我刚刚在拉取请求中看到以下更改 ok or Error new ErrorKind Other Decode error ok or else Error new ErrorKind Other Decode error 我知道的唯一区别是
  • 使 ASP.Net 中的 URL 对用户友好

    我正在尝试使用 Web 窗体在 ASP Net 中开发我的第一个网站 我有一个带有一些控件和一个 TextBox 控件的表单 虽然现在我用GET要求 当用户提交表单时 他的浏览器期望获得长 URL 例如 http mysite com se