问题的想法是我有一个“CreateINF”视图,然后我显示一个弹出窗口,调用部分视图。在这个弹出窗口中有一个网格,然后当我选择这个网格的一个元素时,我想用弹出窗口中选择的元素的信息填充“CreateINF”视图上的一些文本框,但是最后一个操作不起作用并且我不知道错误在哪里
这是弹出的“PopTrabajador”
@model PagedList.IPagedList<Sistema_GEC_v3.Models.TrabajadorExterno>
@{
ViewBag.Title = "Buscar Reserva";
}
<h1><strong>Resultado Búsqueda</strong></h1>
<br />
<table id="MainContent_Table2" rules="all" style="border-color: Black; width: 900px; margin-bottom: 0px;" border="1">
<tr>
<th style="font-weight: bold; width: 150px;" align="center">
</th>
<th style="font-weight: bold; width: 150px;" align="center">
@Html.LabelFor(modelItem => Model.First().vcNombre)
</th>
<th style="font-weight: bold; width: 150px;" align="center">
@Html.LabelFor(modelItem => Model.First().vcApellidoPaterno)
</th>
<th style="font-weight: bold; width: 150px;" align="center">
@Html.LabelFor(modelItem => Model.First().vcApellidoMaterno)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td align="center">
@using (Ajax.BeginForm("DevolverTrabajador", "Infracciones",
null
, new AjaxOptions
{
UpdateTargetId = "update-message",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "searchSuccess"
}, new { @id = "searchForm"+@item.idTrabajadorExterno}))
{
<div id="update-message" class="error invisible"></div>
<input data-val="true" data-val-number="The field idTrabajadorExterno must be a number." data-val-required="El campo idTrabajadorExterno es obligatorio." id="idTrabajadorExterno" name="idTrabajadorExterno" type="hidden" value="@item.idTrabajadorExterno" />
@Html.HiddenFor(model => item.idTrabajadorExterno, new { id = "idTrabajadorExterno" + @item.idTrabajadorExterno })
@Html.HiddenFor(model => item.vcNombre, new { id = "vcNombre" + @item.idTrabajadorExterno })
<input type="submit" value="Seleccionar" />
}
</td>
<td style="font-weight: normal; width: 150px;" align="center">
@Html.DisplayFor(modelItem => item.vcNombre)
</td>
<td style="font-weight: normal; width: 150px;" align="center">
@Html.DisplayFor(modelItem => item.vcApellidoPaterno)
</td>
<td style="font-weight: normal; width: 150px;" align="center">
@Html.DisplayFor(modelItem => item.vcApellidoMaterno)
</td>
</tr>
}
</table>
这是视图“CreateINF”
@model Sistema_GEC_v3.Models.Infraccion
@{
ViewBag.Title = "Create";
}
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<link href="@Url.Content("~/Content/themes/base/jquery.ui.all.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script>
<script type="text/javascript">
var linkObj;
//$(document).ready(function () {
$(function () {
$(".busqueda").button();
$('#dialog').dialog({
autoOpen: false,
width: 930,
resizable: false,
title: 'hi there',
modal: true
});
$(".busqueda").click(function () {
linkObj = $(this);
var dialogDiv = $('#dialog');
var viewUrl = linkObj.attr('href');
$.get(viewUrl, function (data) {
dialogDiv.html(data);
dialogDiv.dialog('open');
});
return false;
});
});
function searchSuccess() {
var id = $("#update-message").html();
var parent = linkObj.closest("tr");
document.getElementById('tipoTrabajador').value = $("#vcNombre" + id.toString()).val();
$('#dialog').dialog('close');
}
function actualizarVentanaModal(viewUrl) {
var dialogDiv = $('#dialog');
$.get(viewUrl, function (data) {
dialogDiv.html(data);
});
}
// });
</script>
<div id="commonMessage"></div>
<div id="dialog" title="Seleccionar Cliente"></div>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Infraccion</legend>
<div class="editor-label">
@Html.LabelFor(model => model.vcCodigoInfraccion)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.vcCodigoInfraccion, new { id = "tipoTrabajador" })
@Html.ValidationMessageFor(model => model.vcCodigoInfraccion)
</div>
<a class="busqueda" href= "@Href("~/Infracciones/PopTrabajador")"> <img src="@Href("~/Content/Images/buscar.png")" alt="0" title="Buscar" id="" border="0" height="16" width="16"/></a>
</fieldset>
<p>
<input value="Guardar" type="submit" name = "button"/>
</p>
}
这是控制器
public ActionResult PopTrabajador(int? page, string tipoTrabajador)
{
int tamPag = 10;
int numPag = page ?? 1;
var trabajadoresE = dbTExterno.trabajadoresExternos.OrderBy(t => t.vcNombre);
return PartialView("PopTrabajador", trabajadoresE.ToPagedList(numPag, tamPag));
}
[HttpPost]
public ActionResult DevolverTrabajador(TrabajadorExterno trabajador)
{
try
{
return Content(trabajador.idTrabajadorExterno.ToString());
}
catch (Exception e)
{
return RedirectToAction("General", "Error");
}
}
public ActionResult CreateINF()
{
return View();
}
//
// POST: /Infracciones/Create
[HttpPost]
public ActionResult CreateINF(FormCollection collection)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}