ASP.NET MVC3, Коллекция внутри модели с использованием метода GET Forms и является дружественной для URL / SEO - PullRequest
0 голосов
/ 01 января 2012

Позвольте мне описать код, который у меня есть, и затем я задаю вопрос.

У меня есть такой класс

public class MyModel
{
    public virtual ICollection<SomeObject> fweek { get; set; }
    public virtual ICollection<SomeObject> ftxt { get; set; }
    public virtual ICollection<SomeObject> fbool { get; set; }
}

Затем я создаю редактор для такой модели:

@model MyModel
@using(Html.BeginForm("SomeAction", "SomeController", FormMethod.GET))
{
    @Html.EditorFor(m => m.fweek)
    @Html.EditorFor(m => m.ftxt)
    @Html.EditorFor(m => m.fbool)
    <input type="submit" value="Submit" />
}

Если я отправляю свою форму в результате, меня перенаправляют на аналогичный URL:

http://localhost:3517/pl-PL/Places/Search?
fbool%5B0%5D.Value=false&
fweek%5B0%5D.Value=1&
fweek%5B1%5D.Value=2&
ftxt%5B0%5D.Value=23fasf&
ftxt%5B1%5D.Value=assffg&

Вопрос: можно ли переписать такой URL (особенно последовательности% 5B и% 5D)стать более SEO / дружественным к пользователю?Допустим, этот пример URL может выглядеть следующим образом:

http://localhost:3517/pl-PL/Places/Search?
fbool.Value=false&
fweek.Value=1&
fweek.Value=2&
ftxt.Value=23fasf&
ftxt.Value=assffg&

Спасибо за любую помощь.Привет.

1 Ответ

0 голосов
/ 03 января 2012
http://localhost:3517/pl-PL/Places/Search?
fbool.Value=false&
fweek.Value=1&
fweek.Value=2&
ftxt.Value=23fasf&
ftxt.Value=assffg&

Это не сработает ни в одном сценарии, поскольку вы отправляете несколько полей формы с одинаковыми именами, поэтому с ними должен быть связан индекс. И.Е.

fweek[0].Value=1&fweek[1].Value =2

Без индекса как определить, какой fweek какой?

Почему бы просто не опубликовать эту форму?

...