2012-01-01 8 views
0

私のコードを記述してから質問します。ASP.NET MVC3、Forms GETメソッドを使用したモデル内のコレクションで、URL/SEOに対応しています

は、私はそのようなクラスに持ってその後、私はこのようなモデルのためのエディタを作成してい

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& 

は、任意の助けてくれてありがとう。よろしくです。 よろしくお願いします。

+0

このシナリオを再現できませんでした。私はあなたのコードをカット/ペーストして、クラスのSomeObjectを単一のプロパティ 'Value'を文字列として追加し、サンプルのURLから推測しました。 Html.EditorForはHTMLを生成しませんでした。また、どのURLにもリダイレクトされませんでした。どのようにこれに到達しましたか? – enorl76

答えて

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

同じ名前の複数のフォームフィールドを送信しているため、これらのフィールドに関連付けられたインデックスが必要なため、これはいずれのシナリオでも機能しません。 I.

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

インデックスなしどのようにfweekを指定できますか?

なぜこのフォームを投稿しないのですか?

+0

'fweek'がどれほど重要でないかを判断することは、これは順序のないいくつかの値の集合です...私はこのURLを短縮し美化する必要があります。だから、おそらくこれを行う方法があります( 'fweek'オブジェクト宣言を変更せずに' .Value'接尾辞を省略することもできます)。 –

関連する問題