在两个独立的控制器之间传递数据。我的第一个文件中有以下内容:
public ActionResult Report(string sDate, string eDate)
{
var client = new WebClient();
string avgRatesCos = String.Format(client.DownloadString("http://localhost/api/values/1?sBookingDate={0}&eBookingDate={1}"), sDate, eDate);
string maxAvgRates = String.Format(client.DownloadString("http://localhost/api/values/2?sBookingDate={0}&eBookingDate={1}"), sDate, eDate);
string minAvgRates = String.Format(client.DownloadString("http://localhost/api/values/3?sBookingDate={0}&eBookingDate={1}"), sDate, eDate);
在我的第二个文件/控制器中,'sBookingDate'和'eBookingDate'中的值显示为{0}和{1},而不是从第一个控制器传递的值:
public QueryResponse Get(int id, string sBookingDate, string eBookingDate)
{
Console.WriteLine(sBookingDate, eBookingDate);
}
答案 0 :(得分:2)
您的String.Format
和client.DownloadString
操作已经倒退了。所以你实际上只是要求{0}作为参数...然后调用String.Format
对动作/控制器的调用结果。
而不是
string avgRatesCos = String.Format(client.DownloadString("http://localhost/api/values/1?sBookingDate={0}&eBookingDate={1}"), sDate, eDate);
应该是
string avgRatesCos = client.DownloadString(String.Format("http://localhost/api/values/1?sBookingDate={0}&eBookingDate={1}", sDate, eDate));
答案 1 :(得分:0)
尝试
string minAvgRates = client.DownloadString("http://localhost/api/values/3?sBookingDate=" +sDate + "&eBookingDate="+eDate);