2015-09-01 1 views
0

У меня есть частичный вид страница .cshtml какпасс данные частичного вида на другой частичный вид

$("#btnsearch").click(function() { 
    dserial = $("#dserial").val(); 
    $('.content').load("/ServiceMaintenance/SearchInstallationDeviceDetails"); 
}) 

Здесь «dserial» является идентификатором текстового поля «btnsearch» является идентификатором кнопки и " content "- это id [класс] div, которому должен быть загружен частичный вид.

Моя потребность присвоить значение «dserial» в текстовое поле только для чтения (пусть идентификатор будет «SerialNo») в виде SearchInstallationDeviceDetails.cshtml, который находится в контроллере «ServiceMaintenance»

+1

Можете ли вы изменить параметры действия? Самый простой вариант - передать значение 'dserial' в действие контроллера и иметь частичное представление, уже имеющее поле только для чтения. Если нет, вам просто нужно посмотреть параметр 'complete'' $ .load'. Сообщите нам, что вы можете сделать для жизнеспособного ответа. –

+0

Как я могу хранить dserial temporarly, и это значение присваивается текстовому полю в другом представлении? @ freedomn-m – sarath

ответ

1

1 Изменить параметры действий, предполагая, что действие контроллера:

public ActionResult SearchInstallationDeviceDetails() 

изменения к

public ActionResult SearchInstallationDeviceDetails(string dserial) 

(или int/guid, если строка не подходит)

затем изменить JS передать параметр:

$('.content').load(
       "/ServiceMaintenance/SearchInstallationDeviceDetails", 
       { dserial : dserial }); 

Примечание: это работает только, если это просто ID, если это не просто ID вы будете использовать POST

затем обновить ViewModel вашего Частичный вид на dserial пройти и в представлении:

@Html.TextBoxFor(model=>model.dserial, ... 

2 Внесите значение после загрузки части.

Не так хорошо, но зависит от ваших ограничений (например, если вы не можете изменить контроллер). Вы можете получить вид FOUC (вспышка содержания без стилей) - в данном случае «не-entered'content

$('.content').load(
      "/ServiceMaintenance/SearchInstallationDeviceDetails", 
      function() { 
       $("#serialno").val(dserail).prop("readonly", true); 
      }); 
0

Не могли бы вы заполнить его после того, как содержимое загружается, как это?

$('.content').load("/ServiceMaintenance/SearchInstallationDeviceDetails", 
function() { 
    $('.content #serialno').val(dserial); 
}); 
+0

спасибо, что это работает для меня ... :) – sarath