0

したがって、基本的にモデルにはブール値があり、ビューには、特定の選択ボックスを選択したときに true または false に設定する非表示フィールドがあります。これができたので、隠しフィールドの値とコントローラーの bool の値をどうにかしてチェックする必要があります。true の場合はメソッドを実行し、false の場合はメソッドをスキップします。

これが私のhtmlで、非表示のフィールドが一番下にあります:

<div id="addTransfereeForm" class= "invisible" "whiteborder">
    <form name="addTransferee" id="addTransferee">
    <p><b><u>Add a New Transferee</u></b></p>
        Transfer Effective Date: <input type="text" name="transfereffectivedate"     class="datepicker"<br /> <br />
        Transferee Name: <input type="text" name="transfereename" /><br />
        Transferee Notice Address Line 1: <input type="text" name="transfereenoticeaddressline1" /><br />
        Transferee Notice Address Line 2: <input type="text" name="transfereenoticeaddressline2" /><br />
        Transferee Notice City: <input type="text" name="transfereenoticecity" /><br />
        Transferee Notice State: <input type="text" name="transfernoticestate" /><br />
        Transferee Notice Zip: <input type="text" name="tranfernoticezup" /><br />
        Transferee Notice Phone: <input type="text" name="transfereenoticephone" /><br />
        Transferee Payment Address Line 1: <input type="text" name="transfereepaymentaddressline1" /><br />
        Transferee Payment Address Line 2: <input type="text" name="transfereepaymentaddressline2" /><br />
        Transferee Payment City: <input type="text" name="transfereepaymentcity" /><br />
        Transferee Payment State: <input type="text" name="transfereepaymentstate" /><br />
        Transferee Payment Zip: <input type="text" name="transfereepaymentzip" /><br />
        Transferee Payment Phone: <input type="text" name="transfereepaymentphone" /><br />
        <input type="hidden" name="newtransferee" />
    </form>
</div>

これが私のモデルです(NewTransfereeは、trueまたはfalseに設定しているboolです):

 public class CreateTransferee
{
    public DateTime? TransferEffectiveDate { get; set; }
    public string TransfereeName { get; set; }
    public string TransfereeNoticeAddressLine1 { get; set; }
    public string TransfereeNoticeAddressLine2 { get; set; }
    public string TransfereeNoticeCity { get; set; }
    public string TransfereeNoticeState { get; set; }
    public string TransfereeNoticeZip { get; set; }
    public string TransfereeNoticePhone { get; set; }
    public string TransfereePaymentAddressLine1 { get; set; }
    public string TransfereePaymentAddressLine2 { get; set; }
    public string TransfereePaymentCity { get; set; }
    public string TransfereePaymentState { get; set; }
    public string TransfereePaymentZip { get; set; }
    public string TransfereePaymentPhone { get; set; }
    public bool NewTransferee { get; set; }
}

これが私のコントローラーです(これを編集して、最後の部分を実行する前にブール値をチェックする必要があります):

 [NoCache]
    [HttpPost]
    [ValidateAntiForgeryToken]

    public JsonResult ResolveProfileSelectionRequired(ResolveProfileSelectionRequiredModel model)
    {
        var resolved = SqlDataProvider.ResolveProfileSelectionRequiredJobException(model);

        return resolved ? Json("Success") : Json("Failed");
    }

最後に、bool が true の場合に実行するために作成したメソッドがあります (これは SQLDataProvider.cs にあります)。

public static int CreateNewTransferee(CreateTransferee model)
    {

        using (var db = new NJB.NJBDataContext())
        {
            var result = db.SP_AddTransferee(
            model.TransferEffectiveDate,
            model.TransfereeName,
            model.TransfereeNoticeAddressLine1,
            model.TransfereeNoticeAddressLine2,
            model.TransfereeNoticeCity,
            model.TransfereeNoticeState,
            model.TransfereeNoticeZip,
            model.TransfereeNoticePhone,
            model.TransfereePaymentAddressLine1,
            model.TransfereePaymentAddressLine2,
            model.TransfereePaymentCity,
            model.TransfereePaymentState,
            model.TransfereePaymentZip,
            model.TransfereePaymentPhone);

           return (int) result.ReturnValue;
        }
    }
4

3 に答える 3

1

新しいパラメーターを使用してコントローラー アクションを拡張します。

public JsonResult ResolveProfileSelectionRequired(ResolveProfileSelectionRequiredModel model, bool newtransferee = false)

アクション内で確認します。

于 2013-09-24T14:16:07.083 に答える
0

あなたが使用することができます:

if (Request.Form["newtransferee"].ToLower() == "true")

または、マニュアルのhtmlの代わりにこれを書いてもうまくいきますか?

@Html.HiddenFor(model => model.NewTransferee)
于 2013-09-24T14:24:21.173 に答える