Как прочитать значения, возвращаемые Json? - PullRequest
0 голосов
/ 10 мая 2010

У меня есть следующий код на мой взгляд:

 <% using (Ajax.BeginForm("JsonCreate", new AjaxOptions { OnComplete = "createCategoryComplete" }))


  { %><div id="createCategory">
        <fieldset>
            <legend>Add new category</legend>
            <p>

<%=Html.TextBox("CategoryId")%>
<%=Html.TextBox("Test")%>
            <label for="name">Name:</label>
            <%= Html.TextBox("Name")%>
            <%= Html.ValidationMessage("Name")%>

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

В контроллере код выглядит следующим образом:

[AcceptVerbs(HttpVerbs.Post)]
    public JsonResult JsonCreate(string Name)
    {
        if (ModelState.IsValid)
        {
            try
            {


                //Return a json object to the javascript
                return Json(new { CategoryId = 123, Test= "test successful" });
            }
            catch
            {
                #region Log errors about the exception
                //Log error to administrator here
                #endregion
            }
        }

        //If we got this far, something failed, return an empty json object
        return Json(new { /* Empty object */ });
    }

Каким должен быть код в представлении следующей функции для чтения значений, возвращаемых Json, и обновления текстовых полей для CategoryId и Test?

  function createCategoryComplete() {....???}

Ответы [ 2 ]

0 голосов
/ 10 мая 2010
function createCategoryComplete(e) {
    var obj = e.get_object();
    alert(obj.CategoryId + ' ' + obj.Test);
}
0 голосов
/ 10 мая 2010

Попробуйте это,

success: function(data) {
         alert(data.CategoryId + " " + data.Test);

EDIT:

function createCategoryComplete(data)
{
   document.getElementById("UrTxtBoxID").value = data.Test;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...