问题标签 [routevalues]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7924 浏览

c# - 如何向视图中的当前 URL 添加参数?

我有一个基于 ASP.NET MVC4 的 Web 应用程序,其中我使用包含三个语言标志(图像)的布局。这些标志在整个站点中都是可见的。现在我想使用这些图像进行语言选择。为了以特定语言显示任何页面,我只需向当前 URL 添加一个参数并加载它,然后我的控制器对其进行评估并在模型中设置正确的语言(或者在有请求中未指定语言)。

这是一个例子:

未指定语言:

指定语言:

我的问题是:如果只有语言参数,如何在我的布局中形成一个围绕语言标志图像的链接,并始终指向当前加载的带有所有参数的 URL 加上一个新参数?&lang=1033?lang=1033

换句话说:如何使用所有参数创建指向同一页面的链接,并简单地将路由值添加到 URL?

更新:这是一个详细的示例

在我的_Layout.cshtml我有:

现在,当我运行该站点时,起始页上的链接工作正常,它们指向当前页面并将 lang=xy 参数添加到相应的 URL。

但是,当我转到另一个使用相同布局文件并使用参数的页面时,链接无法正确构建:假设我转到此 URL 定义的子页面:

页面本身会正确显示。但是当我悬停或关注语言链接时,它们指向:

http://localhost:1234/Stations?lang=1031代替

http://localhost:1234/Stations?position=up&lang=1031

如您所见,任何现有参数都被省略了。

0 投票
2 回答
467 浏览

asp.net-mvc - 通过 RouteValueDictionary 发送单个值

我的 ViewModel 的属性之一是一个数组,不幸的是,null每次我回发到控制器时它都会出现。我想出了一个简单的技巧,将值放入逗号分隔的字符串中。

这对我们的分页插件非常有用,它Index使用RouteValueDictionary. Html.BeginForm但是,它在回发到不同控制器操作(Update方法) 的助手中不起作用。

看法

控制器

上面的形式发布到这个控制器动作。searchChannelCodePaging变量每次都是空的。

0 投票
1 回答
638 浏览

asp.net-mvc - ASP.NET MVC:是否可以在每次提交表单时发送自定义路由值?

我有这样的自定义路线

当我在页面中时

每次我使用 BeginForm(不是 BeginRouteForm)提交或单击此页面中的操作链接时,是否可以将“产品”作为 parcontroller 的路由值发送。

0 投票
0 回答
539 浏览

asp.net-mvc - How to build custom URL link MVC

There are some methods like the followings in UrlHelper class in MVC4

...but i want to change route values in every Action method calls for this I wrote CustomUrlHelper class like the following:

If we know action name controller name than every thing is OK, but if we just know a base URL and route value dictionary than my CustomAction method does not work.

Let's say if I have just a linkbase like A/B/C/D and RouteValueDictionary.

Now I want a method it gets baseUrl and RouteValueDictionary and produces complete link.

0 投票
1 回答
6895 浏览

c# - Use RedirectToAction without passing query string parameters/route values

I have a "Thingy" controller for that looks like:

However, RedirectToAction keeps having its route values populated with the id from the parameters, whereas I want it to leave id as null so it redirects to www.mywebsite.com/Thingy instead of www.mywebsite.com/Thingy/1

In fact, I can visit www.mywebsite.com/Thingy directly and it works as expected.

I have tried:

The last is particularly amusing because it redirects to www.mywebsite.com/Thingy?id=1 where as the others redirect to www.mywebsite.com/Thingy/1.

0 投票
3 回答
3093 浏览

c# - 如何通过asp.net mvc 5中的actionlink传递包含连字符的routeValues

我有一个操作链接,我需要它来传递包含连字符 (-) 的参数。无法更改名称约定。我该怎么做呢?

这给了我一个错误“无效的匿名类型声明符”,因为它包含连字符。基本上我需要actionlink来生成如下的html。

0 投票
2 回答
653 浏览

c# - 包含特定字符的 ActionLink 路由值

我正在使用此操作链接向id控制器发送路由值,但我的 id 值是这样config.xml 的,这是我的操作链接

问题是当我想单击此链接时,浏览器将其理解为urlconfig.xml

像这样

并且不去它返回的控制器404 - not found。如何防止这种情况发生并将其config.xml作为参数而不是文件?

这也是我的路线

我也尝试过,id ,filename但没有任何改变

这是我的控制器

0 投票
1 回答
598 浏览

c# - RouteValueDictionary 在 Extension 方法中显示为 null

使用引导程序我遇到了必须在某些链接上设置活动类的问题。我在互联网上找到了这个辅助方法,并正在向它添加一些功能。基本上我想向它添加 RouteValueDictionary 和 Html 项目。出于某种原因,我的观点是传递一个空 RouteValueDictionary 而不是我正在填充的值。

我认为我的问题是我在视图方面遗漏了一些东西,呈现的 HTML 可能实际上不会按应有的方式生成路由值。

扩展方法:

查看(部分):

呈现的 HTML:

再说一次,我遇到的问题是 MenuLink 获得了一个空的 RouteValueDictionary,我觉得它应该包含 id!

(注意... pHtmlHelper.ViewContext.RouteData 实际上在它的 RouteData 值中包含 id 标签......)

0 投票
4 回答
1982 浏览

c# - 如何使用具有多个同名值的 RouteValues

在我的 ASP.NET MVC 4 应用程序中,我可以过滤多个标签。在 HTML 中,它看起来像这样:

在选中第一个和第三个复选框时,Querystring被序列化?tag=1&tag=3,我的控制器可以很好地通过以下类的类型将对象传递:

但是,调用Url.Action导致集合的类型名被序列化,而不是实际值。

如何才能做到这一点?


MVC 的标准基础结构可以处理描述为输入的多键。是否没有标准的基础设施可以反过来处理它?我错过了什么吗?

0 投票
2 回答
1490 浏览

c# - 将选定的按钮值从视图传递到控制器

我想将选定的按钮值传递给控制器​​。请参阅下面的代码。

在我的控制器中,我传递了 ProductId,然后我将使用它在我的控制器中设置我的产品值。

控制器:

在我的视图中,我有一个 foreach 循环,它将创建类似按钮的单选按钮,并且我还有一个 hiddenfor(SelectedProductId)

看法:

我想在 ActionLink 中传递产品 ID,然后将其传递给控制器​​,但我不确定如何实现

按钮点击: