2

私はnerdinnerで問題に直面しています。私が直面していること:

DinnerForm.ascx には JavaScript コードがあります

 $(document).ready(function () {
        NerdDinner.EnableMapMouseClickCallback();

        $("#Dinner_Address").blur(function (evt) {
            //If it's time to look for an address, 
            // clear out the Lat and Lon
            $("#Dinner_Latitude").val("0");
           $("#Dinner_Longitude").val("0");
            var address = jQuery.trim($("#Dinner_Address").val());
            if (address.length < 1)
                return;
            NerdDinner.FindAddressOnMap(address);
        });
    });

プロジェクトを実行し、新しいディナーを挿入すると、経度と緯度が値 0 で挿入されます。

そして、「0」を任意の数字に変更したとき

$(document).ready(function () { NerdDinner.EnableMapMouseClickCallback();

    $("#Dinner_Address").blur(function (evt) {
        //If it's time to look for an address, 
        // clear out the Lat and Lon
        $("#Dinner_Latitude").val("12");//
       $("#Dinner_Longitude").val("12");//
        var address = jQuery.trim($("#Dinner_Address").val());
        if (address.length < 1)
            return;
        NerdDinner.FindAddressOnMap(address);
    });
});

long と lat の両方に値 12 をデータベースに挿入します。

この値をデータベースに挿入することは知っていましたが、実際にはわかりません

だから私は本当にこれを修正する方法を知りたいです, 誰かを教えてください:D

4

2 に答える 2

1

このコード ブロックについては、 Scripts/NerdDinner.jsを参照してください。

//If we've found exactly one place, that's our address.
//lat/long precision was getting lost here with toLocaleString, changed to toString
if (NerdDinner._points.length === 1) {
    $("#Latitude").val(NerdDinner._points[0].Latitude.toString());
    $("#Longitude").val(NerdDinner._points[0].Longitude.toString());
}

問題は、このスクリプトがLatitudeおよびLongitudeという名前の要素の値を設定しようとすることですが、Views\Dinners\DinnerForm.ascxでは、これらの要素 ID がDinner_LatitudeおよびDinner_Longitudeとしてそれぞれ解決されます。回避策として、 NerdDinner.jsの 2 行を変更して、見つかったいずれかの要素を更新できるようにする必要があります。

if (NerdDinner._points.length === 1) {
    $("#Latitude,#Dinner_Latitude").val(NerdDinner._points[0].Latitude.toString());
    $("#Longitude,#Dinner_Longitude").val(NerdDinner._points[0].Longitude.toString());
}
于 2010-07-07T03:41:48.200 に答える
0

私の問題は、編集ページの値がどれも保持されなかったことです。これは、DinnersController.cs の問題でした。

私が変更され

UpdateModel(dinner, "Dinner");

UpdateModel(dinner);

問題は、コントローラー コードが Dinner.Id、Dinner.Title などの名前のキーを予期していたように見えましたが、実際にはキーの名前は Id と Title (など) だけでした。

于 2010-07-12T12:35:14.757 に答える