我想为每个用户创建唯一的网址,以便我可以将该网址发送到他们的电子邮件中,然后根据该网址发布他们的回复。
例如, 让我们假设有一个类型为guid的Id的约会,并且有人(参加者)将参加某些约会。这些与会者也将拥有自己的类型指南ID。
因此,要发布回复,用户将获得一个包含appointmentmentid和他/她的与会者的网址,并且在点击该网址时,如果我有一个控制器,例如如下所示,它会将用户转发给此控制器
public class ResponseController : Controller
{
[HttpGet]
public AttendeeResponse(Guid appointmentId, Guid attendeeId)
{
return View();
}
}
我应该如何生成这种网址?
如果我只有一个参数(例如,约会),例如
public class AppointmentController : Controller
{
[HttpGet]
public Create(Guid appointmentId)
{
return View();
}
}
这就是url看起来会如何将我转发到控制器上面的方法
http://localhost:14834/Appointment/Create?appointmentId=e2fd8b29-2769-406a-b03d-203f9675edde
但是,如果我必须自己创建两个参数的唯一网址,我该怎么做?
答案 0 :(得分:1)
要在网址中添加更多参数,您可以使用url
字符分隔&
上的参数,以获取示例:
http://localhost:14834/Appointment/Create?appointmentId=e2fd8b29-2769-406a-b03d-203f9675edde&attendeeId=e2fd8b29-2769-406a-b03d-203f9675edde
asp.net mvc会在你行动的Guid
个对象上为你绑定它。
代码示例:
public static string CreateUrl(Guid appointmentId, Guid attendeeId)
{
return string.Format("http://yourdomain.com/Response/AttendeeResponse?appointmentId={0}&attendeeId={1}", appointmentId.ToString(), attendeeId.ToString());
}
由于你有guids对象,你可以使用这个方法,对于样本:
string url = CreateUrl(appointmentGuid, attendeeguid);
无论如何,你有任何地方存储约会吗?我的意思是,数据库中的一个表用于样本。
也许你可以做这些步骤:
appointmentId
生成一个Guid,为attendeeId
生成另一个Guid。 appointmentId
的网址发送给用户的电子邮件。attendeeId
的{{1}}内容。