我有一个模态对话框,可以打开页面中的链接。从js现在我需要向Controller发送一些值。但是我不能使用表单从哪里可以将这些值提交给控制器。有没有其他方法可以做到这一点,还是我说疯了?
答案 0 :(得分:1)
你可以使用这些方法作为No Refunds No Returns解释,但不是传回许多参数,你可以建立你自己的类来传回。
E.g。如果您传回工作的详细信息,您可以拥有一个名为Job的课程,其中包括薪水,工时,职称,部门等参数。
public class Job
{
public float Salary {get; set;}
public float Hours {get; set;}
public string Title {get; set;}
public string Department {get; set;}
}
然后,您可以创建一个控制器方法,该方法接收Job类型的对象。
public ActionResult DoSomething(Job theJob)
{}
然后在javascript中,您可以构建一个带有键值对的JSON对象。关键是参数的名称。
var data = {
Salary: 400,
Hours: 40,
Title: 'Developer',
Department: 'I.T.'
};
然后,您可以将此对象传递给控制器方法,并将值映射到Job对象,然后可以在控制器方法中使用该对象。
答案 1 :(得分:0)
数据通过URL返回。您更新路线以识别参数并构建要匹配的URL。
路线就像{controller} / {action} / {id} / {parameter1} / {parameter2} /
您还可以创建一个像
这样的catchall参数路线就像{controller} / {action} / {id} / {* parameters} /
然后构建一个类似的URL yoursite.com/Accounts/DIsplay/Fred/june/july 参数将于6月/ 7月,您可以在您的URL上构建。
检查我的语法以确定,因为我在吃早餐时这样做。 :)
答案 2 :(得分:0)
使用JQuery,您可以使用:
$。得到 .post的$ $就
将数据发布回服务器。这一切都与用户异步发生。有关如何使用的信息,请参阅jquery.com,这非常简单。使用URL,它将知道要获取或发布数据的控制器/操作;它运作得很好。
使用URL将数据传回服务器,而post使用表单并将表单字段提交给服务器。所以这取决于你想要传递数据的方式。使用Html.BeginForm和Html.EndForm,您可以定义表单,并将其中的值发布到服务器,通过将FormCollection集合指定为操作方法参数或具有方法名称的对象类型,可以检索所有值与对象的属性本身相同,或者它也将这些值传递给变量。无论是获取还是后期操作,它都会进行名称匹配以完成所有这些操作。
所以这可以在MVC中使用回发或异步使用JQuery来完成。