2011-06-19 5 views
1

私はasp.net mvc3で作業しています。 SQL Serverでデータベースを設計しました。そして私はado.netを使ってデータベースにアクセスします。私は "CREATE"ページを設計しています。新しい行を作成するときにフィールドに修正値を挿入する方法

これは私のview.cshtml

@model CalcoWOMS.Models.ProductFormulation 

@{ 
    ViewBag.Title = "doProductFormulation"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

@using (Html.BeginForm()) { 
    @Html.ValidationSummary(true) 
    <fieldset> 
     <legend>ProductFormulation</legend> 

     <div> 


      @Html.EditorFor(model => model.ProductID) <!-- i want to insert fix value (100) in this ProductID field in ProductFormulation Table --> 
      @Html.ValidationMessageFor(model => model.ProductID) 
    </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.RawMaterialID) 
     </div> 
     <div class="editor-field"> 
      @Html.DropDownList("RawMaterialID","SELECT") 
      @Html.ValidationMessageFor(model => model.RawMaterialID) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Code) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Code) 
      @Html.ValidationMessageFor(model => model.Code) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Description) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Description) 
      @Html.ValidationMessageFor(model => model.Description) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.MinimumBatchSize) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.MinimumBatchSize) 
      @Html.ValidationMessageFor(model => model.MinimumBatchSize) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Quantity) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Quantity) 
      @Html.ValidationMessageFor(model => model.Quantity) 
     </div> 

     <p> 
      <input type="submit" value="Create" /> 
     </p> 
    </fieldset> 
} 

<div> 
    @Html.ActionLink("Back to List", "ProductFormulationIndex") 
</div> 

である私はProductFormulationの表に、このProductIDフィールドに固定値(100)を挿入すると、編集可能なボックスを作成する必要はありません。これにはどうすればよいですか?

+2

ここ数日でmvcについて何回質問しましたか?最初にチュートリアルを参照してください。最初に解決策を試してみてください – Eranga

+0

コード、XML、またはデータサンプルを投稿する場合は、テキストエディタでこれらの行を強調表示し、エディタツールバーの[コードサンプル]ボタン( '{}')をクリックしてください。うまくフォーマットと構文が強調表示されます! –

+1

また、以下を使用することもできます:htmlAttributeを設定する場所:<%= Html.Editor( "テスト名"、 "アクション"、新しい{値= "100"})%>これも行います – cpoDesign

答えて

1

おそらく、私は(私はバックエンドの開発者のより多くのだ)の質問を理解していないが、それは簡単な解決策のように思えるの2行削除されます。

<div> 
     @Html.EditorFor(model => model.ProductID) 
     @Html.ValidationMessageFor(model => model.ProductID) 
</div> 

を次に、あなたのコントローラの中Modelを更新Create,ProductIDを100に更新してからリポジトリに書き込む方法があります。もちろん、どのようにするかは、投稿していないコントローラの構造によって異なります。

私はそれを理解したように、代替はページ上の隠しフィールドを持っており、初期Create呼び出しで100のProductIDModelを作成することですが、あなたは常にハードコードにプロダクトIDを行っている場合(これは正直なところ疑わしいようです)100にすると、これは無意味なようです...

+0

@ Html.EditorFor(model => model.ProductID)を使用してProductIdを書き込むことができますが、100がTable(model)に格納されていて、ユーザーから入力する必要はありませんか? –

+0

@Pushpendra:書き込みを計画している値をすでに知っている場合は、ユーザーからの入力をする必要はありません。コントローラの値を設定するだけで済みます。 – forsvarir

+0

ありがとう、ありがとうございました。私の問題は解決しました。私はあなたのメールIDを知っているかもしれないので、私は直接質問をすることができます。あなたはこれで何か問題がないなら、あなたのメールIDを教えてください。私の電子メールIDは[email protected]です。 –

関連する問題