我正在尝试渲染局部视图,但复杂的是我需要 将其写为字符串,如下所示:
string str = "Hello {Form} Goodbye !!!";
@Html.Raw(str.Replace("{Form}", "@Html.Partial("_PartialView", Model)"))
现在,我需要编译器了解@html.Partial是MVC HtmlHelper命令而不是字符串。
任何想法?
谢谢, 参见Yaniv
答案 0 :(得分:0)
您问题的最可能的解决方案是您需要进行ajax调用并获取partialview结果,而不是将您的字符串中的结果替换为。
#include <map>
#include <queue>
#include <iostream>
using namespace std;
int main()
{
int a,b;
map<int, int> AB;
map<int, int>::iterator it;
queue<int> C;
while (1)
{
cin >> a;
if (a == -1)break;
cin >> b;
AB.insert(pair<int, int>(a, b));
}
while (1)
{
cin >> a;
if (a == -1)break;
C.push(a);
}
while(!C.empty())
{
it = AB.find(C.front());
if (it == AB.end())
cout << 0;
else
cout << it->second;
cout << " ";
C.pop();
}
cout << -1;
return 0;
}
在您的控制器类
中<script>
string str = "Hello Form Goodbye !!!";
replacement();
function replacement(){
$.ajax({
url: '@Url.Action("GetPartialView", "Utility")',
type: 'GET',
data:{
param1 : "value1",
param2 : "value2",
param3 : "value3",
},
success: function (response) {
if (response != null) {
str = str.replace('Form',response);
}
},
error: function (response) {
}
});
}
</script>
答案 1 :(得分:0)
使用可以使用
@Html.Raw(string.Format("Hello {0} Goodbye !!!",Html.Partial("_PartialView", Model)))
或
@Html.Raw(string.Format(str.Replace("{Form}", "{0}"),Html.Partial("_PartialView", Model)))