A2Pro THPT Buôn Ma Thuột [2007-2010]

Có một nơi mà chúng ta sẽ không bao giờ quên.. nơi thấm đẫm tình bạn, tình yêu thương thân thiết, nơi gắn bó mãi mãi với những kí ức đẹp nhất của thời học sinh yêu dấu... Nơi đó là đây !

Đăng Nhập

Quên mật khẩu

Latest topics


[ASP.net] Send JQuery JSON to WCF REST using datetime

Share

ƒ®ï€ñð
Lang thang !!
Lang thang !!

Gender : Nam

Posts Posts : 5150 Thanked : 915
Coins Coins : 11736
Tham Gia : 26/08/2008
Birthday : 05/08/1992

Status Status : 0 - 0 thể - 0 bao giờ ^^

code [ASP.net] Send JQuery JSON to WCF REST using datetime

Bài gửi by ƒ®ï€ñð on Thu Nov 06, 2014 3:30 pm

Ở textbox chúng ta sử dụng DatePicker để lấy dữ liệu.
Code:
<script src="~/Scripts/jquery-ui.js"></script>

<script>
        $(function () {
            $("#datepicker").datepicker({ dateFormat: 'mm/dd/yy' }).val();
        });
</script>

Code:
<input type="text" name="birthday" id="datepicker" />

Sử dụng AJax để send data

Code:
<script type="text/javascript">
    function editpassenger() {
        if (document.getElementById("datepicker").value.toString() == "" || document.getElementById("identitynumber").value.toString() == "" || document.getElementById("passengername").value.toString() == "") {
            alert("Value is not available !");
        }
        else {
            var Birthday = new Date(document.getElementById("datepicker").value.toString());
            var passengerData = {
                "Passenger_ID": document.getElementById("passengerid").value.toString(),
                "Passenger_Name": document.getElementById("passengername").value.toString(),
                "IdentityNumber": document.getElementById("identitynumber").value.toString(),
                "Birthday": '\/Date(' + Birthday.getTime() + '-0000)\/'
            };
            $.ajax({
                type: "PUT",
                url: "http://localhost:1426/Service1.svc/UpdatePassenger",
                data: JSON.stringify(passengerData),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                processData: true,
                success: function (data, status, jqXHR) {
                    alert(data);
                },
                error: function (xhr) {
                    alert('Error! Please try again !');
                }
            });
        }
    }
</script>

Chú ý: 
Code:
var Birthday = new Date(document.getElementById("datepicker").value.toString());


Code:
 var passengerData = {
                "Birthday": '\/Date(' + Birthday.getTime() + '-0000)\/'
            };

04

FR
Silver Dragon
Silver Dragon

Gender : Nam

Posts Posts : 1023 Thanked : 660
Coins Coins : 6195
Tham Gia : 26/08/2008
Birthday : 05/08/1920

Status Status : Sẽ ra sao nếu như, tao là mày và mày là tao ?

code Re: [ASP.net] Send JQuery JSON to WCF REST using datetime

Bài gửi by FR on Tue Nov 18, 2014 6:52 pm

Code:
@using System.Web.Mvc
@using System.Web.Mvc.Html
@using Aptean.SNAP.Truition.ContentManagementSystem.Site
@using Aptean.SNAP.Truition.ContentManagementSystem.Services.Content
@using Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel

@model Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel.PageModel

<link href="@Url.Style("pageDetailEdit.css")" rel="stylesheet" />
<link href="@Url.Style("templatelayout.css")" rel="stylesheet" />
<style type="text/css">
    <!-- [Style] -->
</style>
<input type="hidden" value="@Model.TemplateLayoutModelType" name="templateLayoutModuleCode">
<div class="container" id="createPage">
    <div class="action">
        <ul class="actionNav">
            <li>
                <a href="javascript:void(0)">
                    <span class="new btnNew" title="Create a new Page">@Localizer.Text("NEW")</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="save btnSave" title="Save">@Localizer.Text("SAVE")</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="saveclose btnSaveAndClose" title="Save & Close">@Localizer.Text("SAVE") & @Localizer.Text("CLOSE")</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="@Model.Page.StatusString" title="@Model.Page.StatusString">@Model.Page.StatusString.ToUpper()</span>
                    <input type="hidden" name="activeStatus" value="@Model.Page.Status" />
                    @*<span class="Deactivate" title="Activate">Deactivate</span>
                        <input type="hidden" name="activeStatus" value="2">*@
                </a>
            </li>
        </ul>
    </div>
    <div class="row">
        <h2 class="pageTitle">@Model.Page.PageLocales[0].Name</h2>
    </div>
    <div class="row">
        <form class="form-horizontal" role="form" action="/site/post" method="Post" id="frmNewPage">
            @Html.Hidden("ModelType", Model.ModelType)

            @Html.Hidden("oldValue", Model.Page.Name)
            @Html.Hidden("Page.Id", Model.Page.Id)
            @Html.Hidden("Page.Code", Model.Page.Code)
            @Html.Hidden("Page.Status", Model.Page.Status)
         
            <div class="row">
                <div class="col-sm-3"></div>
                <div class="col-sm-6">
                    <div class="form-group">
                        <label for="Name" class="col-sm-3">@Localizer.Text("Name"):<span class="errorStar">*</span></label>
                        <div class="col-sm-9 input">
                            @Html.TextBoxFor(m => m.Page.PageLocales[0].Name, new { @class = "form-control", placeholder = @Localizer.Text("Name"), apteanunique = "apteanunique", apteanName = "apteanName", required = "", maxlength = 50 })
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Name" class="col-sm-3">@Localizer.Text("URL"):</label>
                        <div class="col-sm-6 input">
                            <label id="urlGoToPage">@(Model.Url == "#" ? "" : Model.Url)</label>
                        </div>
                        <div class="col-sm-3">
                            @{
                                if (Model.Url == "#")
                                {
                                    <a class="btn btnGoToPage" href="@Model.Url">@Localizer.Text("GotoPage")</a>
                                }
                                else
                                {
                                    <a class="btn btnGoToPage" href="@Model.Url" target="_blank">@Localizer.Text("GotoPage")</a>
                                }
                            }
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Name" class="col-sm-3">@Localizer.Text("VanityURL"):</label>
                        <div class="col-sm-9 input">
                            <input type="text" class="form-control" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Description" class="col-sm-3">@Localizer.Text("Description"):</label>
                        <div class="col-sm-9 input">
                            @Html.TextAreaFor(m => m.Page.PageLocales[0].Description, new { @class = "form-control", placeholder = @Localizer.Text("Description"), rows = 4, maxlength = 1000 })
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Template" class="col-sm-3">@Localizer.Text("Template"):</label>
                        <div class="col-sm-5 input">
                            @Html.DropDownList("Page.Template.Code", new SelectList(Model.TemplateItems, "value", "text"), new { @class = "form-control ddTemplate" })
                        </div>
                    </div>
                </div>
                <div class="col-sm-3"></div>
            </div>
            <div class="row">
                <div class="col-sm-2"></div>
                <div class="col-sm-8" id="formTemplate">
                    <input type="hidden" id="ModelType" name="ModelType" value="@Model.SearchModuleModelType">
                    <div class="form-group col-sm-12" id="templateLayout">
                       
                    </div>
                </div>
                <div class="col-sm-2"></div>
            </div>
            <div class="row">
                <div class="col-sm-8 col-sm-offset-2">
                    <div class="form-group col-sm-12">
                        <div class="col-sm-6 editer-css">
                            <div class="col-sm-12 title-editor-css">
                                <div class="col-sm-10">
                                    <label for="Name" class="editor-header">@Localizer.Text("CSSEditor") </label>
                                </div>
                                <div class="col-sm-2 upload-txt">
                                    <img class="upload-css" src="@Url.Image("upload.png")" />
                                </div>
                            </div>
                            <div>
                                @Html.TextArea("Page.PageLocales[0].Css", Model.Page.PageLocales.FirstOrDefault().Css, new { @class = "form-control", cols = 10, rows = 5, @id = "main-css" })
                                <label id="module-error-css" class="error" for="summary"></label>
                            </div>

                        </div>
                        <div class="col-sm-6 editer-js">
                            <div class="col-sm-12 title-editor-js">
                                <div class="col-sm-10">
                                    <label for="Name" class="editor-header">@Localizer.Text("JavaScriptEditor") </label>
                                </div>
                                <div class="col-sm-2 upload-txt">
                                    <img class="upload-js" src="@Url.Image("upload.png")" />
                                </div>
                            </div>
                            <div>
                                @Html.TextArea("Page.PageLocales[0].JavaScript", Model.Page.PageLocales.FirstOrDefault().JavaScript, new { @class = "form-control", cols = 10, rows = 5, @id = "main-js" })
                                <label id="module-error-js" class="error" for="summary"></label>
                            </div>
                        </div>
                    </div>
                    <div class="form-group col-sm-12 area">

                  @Html.Hidden("Page.PageLocales[0].Id", Model.Page.PageLocales.FirstOrDefault().Id)
                  @Html.Hidden("Page.PageLocales[0].Code", Model.Page.PageLocales.FirstOrDefault().Code)
                        <input type="file" id="flUploadCSS" onchange='readTextCSS(this)' style="display:none" />
                        <input type="file" id="flUploadJS" onchange='readTextJS(this)' style="display:none" />
                    </div>
                </div>
                <div class="col-sm-2"></div>
            </div>
        </form>
    </div>
</div>

<div class="modal fade" id="lookupPopup" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <input type="hidden" id="moduleRegion" />
            <div class="modal-header model-header-search">
                <h4 class="modal-title model-title-search" id="myModalLabel">@Localizer.Text("LOOK_FOR_MODULE_TYPE")</h4>
            </div>
            <div class="modal-body module-type">
                <div id="search-box">
                    <div class="input-group col-sm-12">
                        <input id="moduleTypeValue" type="text" class="form-control" placeholder=@Localizer.Text("Search") name="KeyWord" value="">
                        <label id="moduleTypeValue-error" class="error hidden" for="moduleTypeValue">Please enter a correct module type</label>
                    </div>
                </div>
            </div>
            <div class="modal-header model-header-search">
                <h4 class="modal-title model-title-search" id="myModalLabel">@Localizer.Text("LOOK_FOR_MODULE_NAME")</h4>
            </div>
            <div class="modal-body module-name">
                <div id="search-box">
                    <div class="input-group col-sm-12">
                        <input id="moduleValue" type="text" class="form-control" placeholder=@Localizer.Text("Search") name="KeyWord" value="">
                        <label id="moduleValue-error" class="error hidden" for="moduleValue">Please enter a correct module name</label>
                        <div id="placeholder" class="hidden">Module Code: <span id="containerCode"></span></div>
                        <input type="hidden" id="moduleCode" />
                  <input type="hidden" id="moduleName" />
                        <input type="hidden" id="moduleId" />
                    </div>
                </div>
            </div>
            <div class="modalfooter">
                <div class="action">
                    <button type="button" class="btn btn-lg" id="btnChooseMudule">@Localizer.Text("OK")</button>
                    <button type="button" class="btn btn-lg" id="btnCancel" data-dismiss="modal">@Localizer.Text("CANCEL")</button>
                </div>
            </div>
        </div>
    </div>
</div>
@Html.Hidden("ModelTypeUnique", new Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel.UniqueModel().LookupUniqueType)

<script src="/Content/Aptean/ApteanVn/Scripts/jquery.blockUI.js"></script>
<script src="/Content/Global/Scripts/custom-validation.js"></script>
<link href="@Url.Style("customautocomplete.css")" rel="stylesheet" />
<link href="/Content/Aptean/ApteanVn/Styles/jquery-ui.css" rel="stylesheet" />
<script src="/Content/Aptean/ApteanVn/Scripts/jquery-ui.js"></script>
<script src="/Content/Global/Scripts/custom-bootstrap-popup.js"></script>
<link href="/Content/Global/Styles/custom-bootstrap-popup.css" rel="stylesheet" />

<script type="text/javascript">
   <!--[JavaScript]-->
    $(document).ready(function () {
        var isBacktoList = false;
        var isWaiting = false;

        $(document).on("click", ".btnNew", function () {
            if (!isWaiting) {
                isWaiting = true;
                window.location = "@SiteService.GenerateUrl(SubSystem.cms, "createpage")";
            }
        });

        $(document).on("click", ".btnSave", function () {
            if (!isWaiting) {
                isWaiting = true;
                $('#frmNewPage').submit();
            }
        });

        $(document).on("click", ".btnSaveAndClose", function () {
            isBacktoList = true;
            if (!isWaiting) {
                isWaiting = true;
                isBacktoList = true;
                $('#frmNewPage').submit();
            }
        });

      $(document).on("click", ".btnCopy", function() {
         var pageCode = $("#Page_Code").val();
         var url = window.location.protocol + "//" + window.location.host + "@(SiteService.GenerateUrl(SubSystem.cms, "createpage?copyPage=CodeToReplace") ?? string.Empty)".replace("CodeToReplace", pageCode);

         window.open(url);
         window.focus();
      });

        $('#frmNewPage').validate({
            focusInvalid: false,
            ignore: '.ignore-validate',
            submitHandler: function (form) {

                $.blockUI();
                $.post('/site/post', $("#frmNewPage :not('#formTemplate #ModelType')").serialize(), function (data) {
                    //go to page
                    if (isBacktoList)
                    {
                        document.location.href = "@SiteService.GenerateUrl(SubSystem.cms, "pages")";
                    }
                    else
                    {
                        document.location.href = data.queryString;
                    }
                });

                isWaiting = false;
            },
            invalidHandler: function (form, validator) {

                $.unblockUI();
                isWaiting = false;
                isBacktoList = false;
            }
        });

        //$(document).on("show.bs.modal", "#lookupPopup", function () {
        //    //do something
        //});

        $('#lookupPopup').on('hide.bs.modal', function () {
            $.clearFormFields(this);
        })

        // Clear form fields in a designated area of a page
        $.clearFormFields = function (area) {
            $(area).find('input[type="text"],input[type="email"],textarea,select').val('');
            $(area).find("span").html('');
            $("#moduleTypeValue-error").addClass("hidden");
            $("#moduleValue-error").addClass("hidden");
         $("#placeholder").addClass("hidden");
         $("#moduleCode").val('');
         $("#moduleId").val('');
        };

        $(document).on("click", ".add-icon", function () {
            currentRegionSelected = this;
         currentRegionSelected = this;
         var save = $(currentRegionSelected).parent().find(".remove-icon");
         if(!save.hasClass('hidden'))
         {
            save.trigger("click");
         }
        });

        $(document).on("click", ".edit-icon", function () {
            var parent = $(this).parent().parent().next();

            $(this).next().removeClass("hidden");
            $(this).addClass("hidden");

            parent.find("textarea").show();
            parent.find("span").hide();
        });

        $(document).on("click", ".remove-icon", function () {
            var parent = $(this).parent().parent().next();

            $(this).prev().removeClass("hidden");
            $(this).addClass("hidden");

            var temp = parent.find("textarea").val();

            parent.find("span").text(temp);
            parent.find("span").show();
            parent.find("textarea").hide();
        });

        $(document).on("click", "#btnChooseMudule", function () {
            var value = $("#moduleCode").val();
            var text = "<!--" + $("#moduleName").val() + "-->";
         var name = $("#moduleName").val();
            var id = $("#moduleId").val();
            if (value != "") {
                var target = currentRegionSelected;
                ChooseModule(target, id, value, text,name);
                $(currentRegionSelected).parent().find(".edit-icon").removeClass("hidden");
            }
            $("#lookupPopup").modal('hide');
        });

        $(document).on("change",".ddTemplate",function(){

           var code = $(".ddTemplate").find("option:selected").val();
         var moduleCode = $("input[name=templateLayoutModuleCode]").val();
         $.ajax({
            url: "/Site/GetJsonData/",
            type: "GET",
            data: { modelType: moduleCode, code: code},
            beforeSend: function () {
               $.blockUI();
            },
            success: function (data) {
            
               $("#templateLayout").html(data.html);

               $.unblockUI();
            },
            error: function () {
               $.unblockUI();
            }
           });
        });

        $("#moduleValue").focusout(function () {
            if ($("#moduleCode").val() != "" || $(this).val() == "")
                $("#moduleValue-error").addClass("hidden");
            else
                $("#moduleValue-error").removeClass("hidden");
        });

        $("#moduleTypeValue").focusout(function () {
            if ($(this).val() != "" && $(this).val().toLowerCase() != "all") {
                $.ajax({
                    url: "/site/GetJsonData/",
                    type: "GET",
                    data: { modelType: modelType, keyWord: $(this).val(), typeSearching: "IsExistModuleType" },
                    success: function (data) {
                        if (data.IsExist)
                            $("#moduleTypeValue-error").addClass("hidden");
                        else
                            $("#moduleTypeValue-error").removeClass("hidden");
                    }
                });
            }
            else {
                $("#moduleTypeValue-error").addClass("hidden");
            }
        });

        var modelType = $("#formTemplate").find("input[name=ModelType]").val();

        $("#moduleValue").autocomplete({
            source: function (request, response) {
                var keyWord = request.term;
                var parent = $("#moduleTypeValue").val();

                $.ajax({
                    url: "/site/GetJsonData/",
                    type: "GET",
                    data: { modelType: modelType, keyWord: request.term, parent: parent, typeSearching: "ModuleName" },
                    success: function (data) {
                        response($.map(data.Modules, function (el) {
                            return {
                                label: el.Name,
                                value: el.Code,
                                desc: el.Id
                            };
                        }));
                    },
                    select: function (event, ui) {
                    }
                });
            }
        }).autocomplete("instance")._renderItem = function (ul, item) {
            return $("<li>")
              .append("<span>" + item.label + "</span>" + "<input type='hidden' value='" + item.desc + "'/>")
              .appendTo(ul);
        };

        $("#moduleValue").bind('autocompleteselect', function (event, ui) {
            $("#containerCode").html(ui.item.value);
            $("#moduleCode").val(ui.item.value);
         $("#moduleName").val(ui.item.label);
            $("#moduleValue").val(ui.item.label);
            $("#moduleId").val(ui.item.desc);
            $("#moduleValue-error").addClass("hidden");
            $("#placeholder").removeClass("hidden");
            return false;
        });


        $("#moduleValue").focusin(function () {
            var keyWord = $(this).val();
            keyWord = keyWord == "" ? " " : keyWord;

            $(this).autocomplete("search", keyWord);
        });

        $("#moduleTypeValue").focusin(function () {
            var keyWord = $(this).val();
            keyWord = keyWord == "" ? " " : keyWord;

            $(this).autocomplete("search", keyWord);
        });

        $("#moduleTypeValue").autocomplete({
            source: function (request, response) {
                var keyWord = request.term;
                $.ajax({
                    url: "/site/GetJsonData/",
                    type: "GET",
                    data: { modelType: modelType, keyWord: keyWord, typeSearching: "ModuleType" },
                    success: function (data) {
                        response($.map(data.Modules, function (el) {
                            return {
                                label: el.Name,
                                value: el.Name,
                            };
                        }));
                    },
                    minLength: 0
                });
            }
        }).autocomplete("instance")._renderItem = function (ul, item) {
            return $("<li>")
              .append("<span>" + item.label + "</span>" + "<input type='hidden' value='" + item.value + "'/>")
              .appendTo(ul);
        };

      // Load defaut template
        LoadDefautTemplateLayout();
    })

    var currentRegionSelected;

    function ChooseModule(target, id, value, text,name) {
        var tdParent = $(target).parent().parent();

        var _text = tdParent.next().find("span");
        _text.text(_text.text() + text);

        tdParent.next().find("textarea").val(_text.text());


        //get name of region
        var _name = $(target).parent().find("input[type=hidden]").val();

        //generate code
        var _value = tdParent.next().find("input[name=moduleCode]");

        var temp = "";
        if (_value.val() != "")
            temp = ";"

        _value.val(_value.val() + temp + value);

        var _container = tdParent.next().find(".containCode")
        _container.html('');

        $.each(_value.val().split(';'), function (index, code) {
            var _nameField = _name + "[" + index + "].Code";
            var _codeField = "<input type='hidden' name='" + _nameField + "' value='" + code + "'/>";
            _container.append(_codeField);
        });

        //generate id
        var _valueId = tdParent.next().find("input[name=moduleId]");

        var tempId = "";
        if (_valueId.val() != "")
            tempId = ";"

        _valueId.val(_valueId.val() + tempId + id);

        var _containerId = tdParent.next().find(".containId")
        _containerId.html('');

        $.each(_valueId.val().split(';'), function (index, id) {
            var _nameField = _name + "[" + index + "].Id";
            var _idField = "<input type='hidden' name='" + _nameField + "' value='" + id + "'/>";
            _containerId.append(_idField);
        });

      //generate name
      var _valueName = tdParent.next().find("input[name=moduleName]");

        var tempName = "";
        if (_valueName.val() != "")
            tempName = ";"

        _valueName.val(_valueName.val() + tempName + name);

        var _containerName = tdParent.next().find(".containName")
        _containerName.html('');

        $.each(_valueName.val().split(';'), function (index, name) {
            var _nameOfField = _name + "[" + index + "].Name";
            var _nameField = "<input type='hidden' name='" + _nameOfField + "' value='" + name + "'/>";
            _containerName.append(_nameField);
        });
    };

   function LoadDefautTemplateLayout(){

        var code = $(".ddTemplate").find("option:selected").val();
        var moduleCode = $("input[name=templateLayoutModuleCode]").val();
      var pageCode = $("#Page_Code").val();
        $.ajax({
            url: "/Site/GetJsonData/",
            type: "GET",
            data: { modelType: moduleCode, code: code, pageCode: pageCode },
            beforeSend: function () {
                $.blockUI();
            },
            success: function (data) {
            
                $("#templateLayout").html(data.html);

                $.unblockUI();
            },
            error: function () {
                $.unblockUI();
            }
        });


    }
</script>

<script type="text/javascript">
    var reader; 
   
    function readTextCSS(filePath) {
        var output = "";
        if (($("#flUploadCSS")[0].files[0].size / 1048576) > 1) {
            $('#module-error-css').html('File size must be less than or equal 1MB');
            return false;
        }
        else {
            $('#module-error-css').html('');
        }
        if (filePath.files && filePath.files[0]) {
            reader = new FileReader();
            reader.onload = function (e) {
                output = e.target.result;
                displayContentsCSS(output);
            }
            reader.readAsText(filePath.files[0]);
        }     
        else {
            return false;
        }
        return true;
    }

    function readTextJS(filePath) {
        var output = "";
        if (($("#flUploadJS")[0].files[0].size / 1048576) > 1) {
            $('#module-error-js').html('File size must be less than or equal 1MB');
            return false;
        }
        else {
            $('#module-error-js').html('');
        }
        if (filePath.files && filePath.files[0]) {
            reader = new FileReader();
            reader.onload = function (e) {
                output = e.target.result;
                displayContentsJS(output);
            };//end onload()
            reader.readAsText(filePath.files[0]);
        }       
        else {
            return false;
        }
        return true;
    }
   
    function displayContentsCSS(txt) {
        $('#main-css').val(txt);
    }

    function displayContentsJS(txt) {
        $('#main-js').val(txt);
    }

    $(".upload-css").click(function () {
        $('#flUploadCSS').click();
        return false;
    });

    $(".upload-js").click(function () {
        $('#flUploadJS').click();
        return false;
    });

   //begin active/deactive
    $(document).on("click", ".Activate,.Deactivate", function ()
    {
      var status=$("input[name=activeStatus]").val();
        if (status == "Deactivated")
        {
            $.fn.popupConfirm({
                title: 'Page Activation Confirmation',
                iconUrl: '/Content/Global/Images/icon-confirm.png',
                content: {
                    message: 'Are you sure you want to activate this page?',
                },
                callback: function ()
                {
                    var postdata = {};
                    postdata["ModelType"] = $("#ModelType").val();
                    postdata["Page.Id"] = "@Model.Page.Id.ToString()";
                    postdata["Action"] = "@PageModelAction.ChangeStatus.ToString()";
               postdata["Page.Status"]=status;
                    var result = $.ajax({
                        method: "post",
                        url: "/site/post",
                        data: postdata,
                        async: false,
                        success: function (data)
                        {
                            window.location.reload();                     
                        },
                        error: function (data)
                        {
                            return true;
                        }
                    });               
                }
            });
        }
        else
        {
            $.fn.popupConfirm({
                title: 'Page Deactivation Confirmation',
                iconUrl: '/Content/Global/Images/icon-confirm.png',
                content: {
                    message: 'Are you sure you want to deactivate this page?',
                },
                callback: function ()
                {
                    var postdata = {};
                    postdata["ModelType"] = $("#ModelType").val();
                    postdata["Page.Id"] = "@Model.Page.Id.ToString()";
                    postdata["Action"] = "@PageModelAction.ChangeStatus.ToString()";
               postdata["Page.Status"]=status;
                    var result = $.ajax({
                        method: "post",
                        url: "/site/post",
                        data: postdata,
                        async: false,
                        success: function (data)
                        {
                            window.location.reload();
                        },
                        error: function (data)
                        {
                            return true;
                        }
                    });
                }
            });

        }

    });
    $('#moduleTypeValue').on('input', function () {
        $("#moduleValue").val('');
        $("#placeholder").addClass("hidden");
        $("#moduleCode").val('');
        $("#moduleId").val('');
    });
</script>

FR
Silver Dragon
Silver Dragon

Gender : Nam

Posts Posts : 1023 Thanked : 660
Coins Coins : 6195
Tham Gia : 26/08/2008
Birthday : 05/08/1920

Status Status : Sẽ ra sao nếu như, tao là mày và mày là tao ?

code Re: [ASP.net] Send JQuery JSON to WCF REST using datetime

Bài gửi by FR on Tue Nov 18, 2014 7:28 pm

Code:
@using System.Web.Mvc
@using System.Web.Mvc.Html
@using Aptean.SNAP.Truition.ContentManagementSystem.Site
@using Aptean.SNAP.Truition.ContentManagementSystem.Services.Content

@model Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel.ItemVarianceModel

<link href="@Url.Style("createItemVarience.css")" rel="stylesheet" />

<style type="text/css">
    <!-- [Style] -->
</style>

<div class="container" id="createItemVariace">
    <div class="action">
        <ul class="actionNav">
            <li>
                <a href="javascript:void(0)">
                    <span class="new btnNew" title="Create A New Item Variance">NEW</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="save btnSave" title="Save">SAVE</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="saveclose btnSaveAndClose" title="Save & Close">SAVE & CLOSE</span>
                </a>
            </li>
        </ul>
    </div>
    <div class="row">
        <h2 class="pageTitle">New Item-Varience</h2>
    </div>
    <div class="row">
        <form class="form-horizontal" role="form" action="/site/post" method="Post" id="frmNewItemVarience">
            @Html.Hidden("ModelType", Model.ModelType)
            <div class="row">
                <div class="col-sm-8 col-sm-offset-2">
                    <div class="form-group">
                        <label for="Name" class="col-sm-4">Name:<span class="errorStar">*</span></label>
                        <div class="col-sm-6 input">
                            @Html.TextBoxFor(m => m.Item.Name, new { @class = "form-control", placeholder = "Name", required = "", maxlength = 50 })
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Template" class="col-sm-4">Item Master Type:<span class="errorStar">*</span></label>
                        <div class="col-sm-6 input">
                            @Html.DropDownList("MasterType", new SelectList(Model.ItemMasterTypes, "value", "text"), new { @class = "form-control ddTemplate", required = "", @style = "width:70%" })
                        </div>
                    </div>
                    <div class="form-group">
                        <ul id="pageTab" class="nav nav-tabs">
                            <li class="active"><a href="#eng" data-toggle="tab">English</a></li>
                        </ul>
                        <div id="pageTabContent" class="tab-content">
                            <div class="tab-pane active" id="eng">
                                <div class="form-group">
                                    <label for="Title" class="col-sm-4">Title:<span class="errorStar">*</span></label>
                                    <div class="col-sm-6 input">
                                        @Html.TextBoxFor(m => m.Item.ItemLocales[0].Title, new { @class = "form-control", placeholder = "Title", required = "", maxlength = 50 })
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label for="Description" class="col-sm-4">Description:</label>
                                    <div class="col-sm-6 input">
                                        @Html.TextAreaFor(m => m.Item.ItemLocales[0].Description, new { @class = "form-control", placeholder = "Description", rows = 4, maxlength = 10000 })
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label for="Name" class="col-sm-4">Item-Varience Value:</label>
                                    <div class="col-sm-6 input">
                                        <input type="text" id="value" name="Value" class="form-control ignore-validate" required maxlength="50" />
                                    </div>
                                    <div class="col-sm-2">
                                        <span class="add-icon"></span>
                                    </div>
                                </div>
                                <div class="container-value">
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </form>
    </div>
</div>

<script src="~/Content/Aptean/ApteanVn/Scripts/jquery.blockUI.js"></script>
<script src="~/Content/Global/Scripts/custom-validation.js"></script>
<link href="~/Content/Aptean/ApteanVn/Styles/customAutoComplete.css" rel="stylesheet" />
<link href="~/Content/Aptean/ApteanVn/Styles/jquery-ui.css" rel="stylesheet" />
<script src="~/Content/Aptean/ApteanVn/Scripts/jquery-ui.js"></script>

<script type="text/javascript">
    <!--[JavaScript]-->
    $(function () {
        var localeSection = "<div class='form-group'>" +
                            "<label for='Title' class='col-sm-4'>Title:<span class='errorStar'>*</span></label>" +
                            "<div class='col-sm-6 input'>" +
                                "<input class='form-control title' maxlength='50' name='Item.ItemLocales[#index].Title' placeholder='Title' required='' type='text' value='' aria-required='true'>" +
                            "</div>" +
                            "</div>" +
                            "<div class='form-group'>" +
                                "<label for='Description' class='col-sm-4'>Description:</label>" +
                                "<div class='col-sm-6 input'>" +
                                    "<textarea class='form-control' cols='20' maxlength='10000' name='Item.ItemLocales[#index].Description' placeholder='Description' rows='4'></textarea>" +
                                "</div>" +
                            "</div>" +
                            "<div class='form-group'>" +
                                "<label for='Name' class='col-sm-4'>Item-Varience Value:<span class='errorStar'>*</span></label>" +
                                "<div class='col-sm-6 input'>" +
                                    "<input type='text' id='value' name='Value' class='form-control ignore-validate' required='' maxlength='50' aria-required='true'>" +
                                "</div>" +
                                "<div class='col-sm-2'>" +
                                    "<span class='add-icon'></span>" +
                                "</div>" +
                            "</div>" +
                            "<div class='container-value'>" +
                            "</div>";

        var isBacktoList = false;
        var isWaiting = false;

        $(document).on("click", ".btnNew", function () {
            if (!isWaiting) {
                isWaiting = true;
                window.location = "@SiteService.GenerateUrl(SubSystem.user, "createpage")";
            }
        });

        $(document).on("click", ".btnSave", function () {
            if (!isWaiting) {
                isWaiting = true;
                $('#frmNewItemVarience').find(".ignore-validate").removeClass("error");
                $('#frmNewItemVarience').submit();
            }
        });

        $(document).on("click", ".btnSaveAndClose", function () {
            isBacktoList = true;
            if (!isWaiting) {
                isWaiting = true;
                isBacktoList = true;
                $('#frmNewItemVarience').submit();
            }
        });

        $('#frmNewItemVarience').validate({
            focusInvalid: false,
            ignore: '.ignore-validate',
            submitHandler: function (form) {


                $.blockUI();
                $.post('/site/post', $("#frmNewItemVarience").serialize(), function (data) {
                    //go to page
                    if (isBacktoList) {
                        document.location.href = "@SiteService.GenerateUrl(SubSystem.inventory, "pages")";
                    }
                    else {
                        document.location.href = data.queryString;
                    }
                });

                isWaiting = false;
            },
            invalidHandler: function (form, validator) {

                //$.unblockUI();
                isWaiting = false;
                isBacktoList = false;
            }
        });

        var itemValue = "<div class='form-group'><div class='col-sm-6 col-sm-offset-4'><span>" + "[[value]]</span>" +
                        "<input class='form-control hidden' maxlength='50' name='Item.ItemLocales[#index#].Values[[[index]]].Value' type='text' value='[[value]]'>" +
                        "</div><div class='col-sm-2'><span class='edit-icon'></span><span class='save-icon hidden'></span>" +
                        "<span class='remove-icon'></span></div></div>";

        $(document).on("click", ".add-icon", function () {
            var _length = $(this).parents(".tab-pane").find(".container-value .form-group").length;

            if (_length == 99) {
                $(this).remove();
            }

            var $value = $(this).parent().prev().find("input[name=Value]");
            $(this).parent().prev().find("input[name=multipleValue]").val("added");

            var _index = $("#pageTabContent .tab-pane").index($(this).parents(".tab-pane"));

            if ($value.valid()) {
                var _appendHtml = itemValue.replace("#index#", _index).replace("[[value]]", $value.val()).replace("[[value]]", $value.val()).replace("[[index]]", _length);
                $(this).parents(".tab-pane").find(".container-value").append(_appendHtml);
            }
        });

        $(document).on("click", ".remove-icon", function () {
            var _length = $(this).parents(".tab-pane").find(".container-value .form-group").length;

            if (_length == 100) {
                $("input[name=Value]").parent().next().append("<span class='add-icon'></span>");
            }

            var _index = $("#pageTabContent .tab-pane").index($(this).parents(".tab-pane"));

            if (_length == 1) {
                $(this).parents(".tab-pane").find("input[name=multipleValue]").val("");
                requiredWhenHaveAnyChange($(".required"),1)
            }

            $(this).closest(".form-group").remove();

            var _name = "Item.ItemLocales[#index#].Values[[[index]]].Value";

            $(".container-value .form-group").each(function (index, value) {
                $(this).find("input[type=text]").attr("name", _name.replace("#index#", _index).replace("[[index]]", index));
            });
        });

        function requiredWhenHaveAnyChange(input, parentContainer)
        {
            
            var empty_flds = 0;
            input.each(function () {
                if (!$.trim($(this).val())) {
                    empty_flds++;
                }
            });

            $("#Item_ItemLocales_1__Title").rules("remove");
            if (empty_flds) {
              
            } else {
              
            }
        }

        $(document).on("click", ".edit-icon", function () {
            $(this).parent().prev().find("span").addClass("hidden");
            $(this).parent().prev().find("input").removeClass("hidden");
            $(this).parent().find(".save-icon").removeClass("hidden");
            $(this).addClass("hidden");
        });

        $(document).on("click", ".save-icon", function () {
            var _span = $(this).parent().prev().find("span");
            var _input = $(this).parent().prev().find("input");

            _input.addClass("hidden");
            _span.removeClass("hidden");

            _span.text(_input.val());

            $(this).parent().find(".edit-icon").removeClass("hidden");
            $(this).addClass("hidden");
        });
    });
</script>




FR
Silver Dragon
Silver Dragon

Gender : Nam

Posts Posts : 1023 Thanked : 660
Coins Coins : 6195
Tham Gia : 26/08/2008
Birthday : 05/08/1920

Status Status : Sẽ ra sao nếu như, tao là mày và mày là tao ?

code Re: [ASP.net] Send JQuery JSON to WCF REST using datetime

Bài gửi by FR on Tue Apr 21, 2015 12:03 pm

Code:
using Aptean.SNAP.Global.Core.Enums;
using Aptean.SNAP.Truition.ContentManagementSystem.Core.Enums;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Content;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Contract;
using Aptean.SNAP.Truition.ContentManagementSystem.Core.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;

namespace Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel
{
    public class OrderModel : AModuleModel
    {
        private EcommerceService _ecommerceService { get { return new EcommerceService(); } }
        private TransactionService _transactionService { get { return new TransactionService(); } }
        private CrmService _crmService { get { return new CrmService(); } }

        public string Action { get; set; }
        public string OrderCode { get; set; }
        public string ContactCodeRequest { get; set; }
        public string DataModelType { get { return typeof(OrderDataModel).AssemblyQualifiedName; } }
        public string PurchasedProductDataModelType { get { return typeof(PurchasedProductDataModel).AssemblyQualifiedName; } }

        public IList<CMSSiteDto> Sites { get; set; }
        public IList<CMSCarrierLightDto> Carriers { get; set; }
        public CMSPurchasedProductDto ItemListing { get; set; }
        public IList<CMSValueDto> ServiceTypes { get; set; }
        public IList<CMSShipmentBasicDto> Shipments { get; set; }
        public CMSShipmentBasicDto Shipment { get; set; }
        public IList<CMSShipmentBasicDto> ShipmentSplits { get; set; }
        public List<string> ShipmentCombineIds { get; set; }

        public CMSOrderNewDto Order { get; set; }
        public CMSContactDto Contact { get; set; }

        public CMSTransactionDto Transaction { get; set; }
        public CMSAddressLightDto Address { get; set; }
        public string Username { get; set; }
        public string ContactCode { get; set; }
        public string CartItemCode { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Email { get; set; }
        public CMSPhoneLightDto Phone { get; set; }
        public string PhoneNumber { get; set; }
        public UserDto User { get; set; }
        public IList<CMSCreditCardTypeDto> CardTypes { get; set; }
        public CMSAddressLightDto PaymentAddress { get; set; }



        public IList<CMSPurchasedProductDto> PurchasedProducts { get; set; }

        public override void InitializeData()
        {
            var orderCode = Helper.ParseQueryStringByKey(ParamerterOfModule.OrderDetail.GetEnumDescription());

            if (!string.IsNullOrEmpty(orderCode))
            {
                this.OrderCode = orderCode;
            }
        }

        public override ActionResult DoAction()
        {
            return new ActionResult()
            {
                Type = ResultType.Json,
                Data = "",
            };

        }
    }
}

Code:
using Aptean.SNAP.Global.Core.Enums;
using Aptean.SNAP.Truition.ContentManagementSystem.Core.Enums;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Content;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Contract;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Security;
using Global.Core.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using Aptean.SNAP.Truition.ContentManagementSystem.Core.Utilities;
using System.Web.Mvc;

namespace Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel
{
    public class OrderDataModel : ADataModel
    {
        private CrmService _crmService { get { return new CrmService(); } }
        private UserService _userService { get { return new UserService(); } }
        private EcommerceService _ecommerceService { get { return new EcommerceService(); } }
        private CommonService _commonService { get { return new CommonService(); } }
        private InventoryService _inventoryService { get { return new InventoryService(); } }
        private TransactionService _transactionService { get { return new TransactionService(); } }
        public PagingModel Paging { get; set; }


        public override ActionResult InitializeData()
        {
            string code = Helper.ParseQueryStringByKey(ParamerterOfModule.OrderDetail.GetEnumDescription());
            var actionType = (ActionType)Enum.Parse(typeof(ActionType), Helper.ParseQueryStringByKey(QueryParameter.ActionType.GetEnumDescription()));
            switch (actionType)
            {
                case ActionType.GetAllSites:
                    return new ActionResult()
                    {
                        Data = _ecommerceService.GetSite()
                    };
                default:
                    return new ActionResult()
                    {
                        Data = ShoppingCartDetail(code)
                    };
            }


        }

        public OrderModel ShoppingCartDetail(string code)
        {
            var model = new OrderModel();

            model.Order = _ecommerceService.GetOrderNewByCode(code);

            if (!string.IsNullOrEmpty(model.Order.Code))
            {
                model.Order.PurchasedProducts = _ecommerceService.GetPurchasedProductByOrderCode(model.Order.Code);

                model.Sites = _ecommerceService.GetSite();
                if (model.Sites.IsAny())
                {
                    var site = model.Sites.FirstOrDefault(w => w.Code.Equals(model.Order.SiteInstanceCode));
                    if (site != null)
                    {
                        model.Order.SiteInstanceName = site.Name;
                    }
                }

                model.User = _userService.GetUserByCode(model.Order.UserCode);
                if (model.User != null && !string.IsNullOrEmpty(model.User.Code))
                {
                    model.Username = model.User.Username;
                    model.FirstName = model.User.FirstName;
                    model.LastName = model.User.LastName;

                    var contact = _crmService.GetContactByUserCode(model.User.Code);
                    if (!string.IsNullOrEmpty(contact.Code))
                    {
                        model.ContactCode = contact.Code;
                        contact.Phones = _crmService.GetPhonesByContactCode(contact.Code);
                        contact.Emails = _crmService.GetEmailsByContactCode(contact.Code);
                        contact.Addresses = _crmService.GetAddressesByContactCode(contact.Code);

                        if (contact.Phones.IsAny())
                        {
                            if (contact.Phones.Any(w => w.IsPrimary))
                                model.Phone = contact.Phones.FirstOrDefault(w => w.IsPrimary);
                            else
                                model.Phone = contact.Phones[0];

                            model.PhoneNumber = model.Phone.Number;
                        }

                        if (contact.Emails.IsAny())
                        {
                            if (contact.Emails.Any(w => w.IsPrimary))
                                model.Email = contact.Emails.FirstOrDefault(w => w.IsPrimary).EmailAddress;
                            else
                                model.Email = contact.Emails[0].EmailAddress;
                        }

                        if (contact.Addresses.IsAny())
                        {
                            model.Address = contact.Addresses.FirstOrDefault();
                        }
                        else
                        {
                            model.Address = new CMSAddressLightDto();
                        }
                    }
                }

                //get shipment

                model.Shipments = _ecommerceService.GetShipmentByOrderCode(model.Order.Code);
                if (model.Shipments.IsAny())
                {
                    foreach (var shipment in model.Shipments)
                    {
                        shipment.ShipmentItems = _ecommerceService.GetShippmentItemByShipmentCode(shipment.Code);
                        shipment.ServiceTypes = _ecommerceService.GetServiceTypeByCarrierCodeAndShipmentCode("USPS", shipment.Code);
                    }

                }

                model.Carriers = _inventoryService.GetCarrier();
                model.CardTypes = _transactionService.GetCreditCardTypes();

                model.Transaction = new CMSTransactionDto
                {
                    PaymentMethod = PaymentMethod.CreditCard.GetEnumDescription()
                };

                [Only admins are allowed to see this link] = new CMSAddressLightDto
                //{
                //    Street1 = model.Address.Street1,
                //    Street2 = model.Address.Street2,
                //    City = model.Address.City,
                //    Country = model.Address.Country,
                //    State = model.Address.State,
                //    PostalCode = model.Address.PostalCode
                //};
            }

            return model;
        }

        public override ActionResult DoAction()
        {
            if (this.Paging == null)
            {
                this.Paging = new PagingModel();
                this.Paging.SortBy = "UserName";
            }
            return new ActionResult()
            {
                Data = new OfflineOrderCartManagemenModel()
                {
                    OfflineOrderCarts = _ecommerceService.GetOfflineOrderCarts(this.Paging),
                    Paging = this.Paging
                }
            };
        }
    }
}

Sponsored content

code Re: [ASP.net] Send JQuery JSON to WCF REST using datetime

Bài gửi by Sponsored content Today at 7:13 am


    Hôm nay: Sun Dec 11, 2016 7:13 am