2011-01-11 4 views
0

同じWebページにデータをPOSTバックするフォームがあります。私のJQuery検証が適切に機能するように、フォームにHTML IDを与えなければなりません。今現在、あなたは(私にビットゴミを思われる)、そのようなコントローラ名とアクション名などとして、最初に他のものの負荷を追加する必要があり、このようなIDを追加したい場合はMVC、フォームと現在のルートパラメータ/ ID

<% using (Html.BeginForm("addcredits", "customer", FormMethod.Post, new { id = "addcreditform" })) 

私現在のページは/customers/addcredits/1ですので、私は何とかフォームに "1"パラメータを取得する必要があります - どうやってハックなしでこれを行うのですか?私はそれが"customer"の後のパラメータである必要があることを理解していますが、このデータを取得する最良の方法は不明です。

答えて

0

コントローラはデータをビューに渡す必要があります。

あなたが唯一の整数でビューに渡すことにしたいので、[表示]ページには、ページ定義で、この継承を持っている必要があります。

Inherits="System.Web.Mvc.ViewPage<int>" 

をそして、あなたには、たとえば、ページ上のどこかの整数を表示しますフォームは、次の操作を行います。

<%= Model %> 

モデルはビューに渡されたオブジェクトであり、int型です。

public ActionResult addcredits(int? id) 
{ 
    // Some post logic 
    return View(id.Value); 
} 

出来上がり:あなたは以下のあなたのポストを行う必要があり、コントローラ上の

! idパラメータは数値です。私はそれをビューに戻します。

+1

そして、あなたはHtml.BeginFormを使う必要はありません。あなた自身もフォームHTMLを書くことができます。 – raRaRa

+0

ROFL - 私はその気持ちを忘れています! – Chris

関連する問題