Столбец веб-сетки содержит выпадающий список, замена выпадающего списка должна обновляться в объекте. Мне нужен уникальный идентификатор строки или объекта. - PullRequest
0 голосов
/ 09 апреля 2011

Пример кода: -

<script type="text/javascript">
function ViewDataChange() {
    alert("In");
}

 function GetPage(data) {
    debugger;
    var item = document.getElementById("AppId").value;
    var i=0;
    for (i = 0; i < data.length; i++) {

        if (data[i].selected) {
            var selectedRole = data[i].value + "#" + item;

            $.getJSON("/Calls/SelectedBookingRole", { Id: selectedRole }, function (d) 

            });
            break;
        }
    }                      
}

  @{using (Ajax.BeginForm("DeleteAttendee", "Calls", new AjaxOptions { UpdateTargetId = "GridAttendee", HttpMethod = "Post", LoadingElementId = "LoadingImageAttendees" }))
          {  

        @usersGrid.GetHtml(
        htmlAttributes: new { OnItemCreated = "this.ViewDataChange()" },
        tableStyle: "grid TBLGrid",
        mode: WebGridPagerModes.Numeric,

        headerStyle: "header",
        alternatingRowStyle: "alt",

        rowStyle: "row",
                columns: usersGrid.Columns(
                  usersGrid.Column(null, null, format: @<input type="hidden" name="AppId" value="@item.AppUserId"/>, style: "", canSort: false),
                  usersGrid.Column("Name", "Name ", style: "", canSort: false),
                  usersGrid.Column("ListItemId", "Booking Role", format: (item) => Html.DropDownList("ddlBookingRole", ViewBag.BookingRoleList as SelectList, new { onchange = "GetPage(this);" }), style: "width:70%", canSort: false),
                  usersGrid.Column("PortaCallParticipantId", "Delete", format: @<input type="image" src="../../Content/images/deleteIcon.gif" name="Id" value="@item.AppUserId" />, style: "align:center", canSort: false)
                 )
                 )
          }

        } 

Я хочу передать два параметра в GetPage(this,@item.AppUserId), но я не понимаю, как сделать то же самое, пожалуйста, предложите мне его срочно Заранее спасибо.

1 Ответ

0 голосов
/ 09 апреля 2011
usersGrid.Column(
    "ListItemId", 
    "Booking Role", 
    format: (item) => Html.DropDownList(
        "ddlBookingRole", 
        ViewBag.BookingRoleList as SelectList, 
        new { onchange = "GetPage(this, '@item.AppUserId');" }
    ), 
    style: "width:70%", 
    canSort: false
)

и затем:

function GetPage(ddlBookingRole, appUserId) {
    $.getJSON(
        '/Calls/SelectedBookingRole', 
        { id: ddlBookingRole.value, appUserId: appUserId }, 
        function(d) {

        }
    );
}
...