Asp.net mvc3.0服务器端javascript

时间:2011-07-11 05:13:24

标签: javascript jquery asp.net-mvc-3

我在mvc 3中制作一个自定义助手,我在.cs(类)页面中使用以下行

"<input type=\"submit\" value=\"{0}\" onClick=\"showOk()\";\" /><div class='messagepop pop' style='display: none'><form action='' method='post' id='new_message'><div><img src='../Images/x.png' alt='Exit'  class='msgPopImg'  onclick='closePop()' /><table bgcolor='#FFF0F0' rules='rows'>" + builder + "</table></div></form></div><script type='text/javascript'>function showOk() {var maskHeight = $(document).height();var maskWidth = $(window).width();$('#mask').css({ 'width': maskWidth, 'height': maskHeight }); $('.pop').show('fast', function () { });$('#mask').show();} function closePop() {$('.pop').hide(); $('#mask').hide();}", buttonText);

由于此部分,我收到'输入字符串格式不正确'错误: -

<script type='text/javascript'>function
showOk() {var maskHeight = $(document).height();var maskWidth = $(window).width();$('#mask').css({ 'width': maskWidth, 'height': maskHeight }); $('.pop').show('fast', function () { });$('#mask').show();} function closePop() {$('.pop').hide(); $('#mask').hide();}
"

修改后的代码为: -

"<input type=\"submit\" value=\"{0}\" onClick=\"showOk()\";\" /><div class='messagepop pop' style='display: none'><form action='' method='post' id='new_message'><div><img src='../Images/x.png' alt='Exit'  class='msgPopImg'  onclick='closePop()' /><table bgcolor='#FFF0F0' rules='rows'>" + builder + "</table></div></form></div><script type='text/javascript'>function showOk() {var maskHeight = 1000px;var maskWidth =1000px;$('#mask').css({ 'width': maskWidth, 'height': maskHeight }); $('.pop').css('display', 'block');$('#mask').css('display', 'block');} function closePop() {$('.pop').css('display', 'none'); $('#mask').css('display', 'none');}", buttonText);

如何解决此错误请告诉我

3 个答案:

答案 0 :(得分:0)

你的onclick有太多的引号,并在你的onclick事件之后注意额外的一个,但仍然在你的标签中,你的分号也超出了引用

输入类型= \“提交\”值= \“{0} \”onClick = \“showOk()\”; \“

尝试 输入类型= \“提交\”值= \“{0} \”onClick = \“showOk(); \”

你也使用string.format,因为你有{0} 我在打电话,如果你是,我看不到它。)

答案 1 :(得分:0)

我的代码中没有显示结束</script>标记。你有吗?

<强>更新 试试这个:

<input type="submit" value="{0}" onclick="showOk();" />
<div class='messagepop pop' style='display: none'>
    <form action='' method='post' id='new_message'>
    <div>
        <img src='../Images/x.png' alt='Exit' class='msgPopImg' onclick='closePop()' />
        <table bgcolor='#FFF0F0' rules='rows'>
            " + builder + "</table>
    </div>
    </form>
</div>
<script type='text/javascript'>
function showOk() {
    var maskHeight = '1000px';
    var maskWidth = '1000px';
    $('#mask').css({ 'width': maskWidth, 'height': maskHeight }); 
    $('.pop').css('display', 'block');
    $('#mask').css('display', 'block');
} 
function closePop() {
    $('.pop').css('display', 'none'); 
    $('#mask').css('display', 'none');
});
</script>

答案 2 :(得分:0)

由于javascript部分中的括号“{”,您收到的'输入字符串格式不正确'。它尝试评估表达式,例如它是{0}。

如果要渲染括号,则必须使用“{{”而不是“{”。

P.S。不要忘记结束括号也应该是'}}'而不是'}'。

<强>更新

尝试使用此字符串:

string.Format("<input type=\"submit\" value=\"{0}\" onClick=\"showOk()\";\" /><div class='messagepop pop' style='display: none'><form action='' method='post' id='new_message'><div><img src='../Images/x.png' alt='Exit'  class='msgPopImg'  onclick='closePop()' /><table bgcolor='#FFF0F0' rules='rows'>" + builder + "</table></div></form></div><script type='text/javascript'>function showOk() {{var maskHeight = $(document).height();var maskWidth = $(window).width();$('#mask').css({{ 'width': maskWidth, 'height': maskHeight }}); $('.pop').show('fast', function () {{ }});$('#mask').show();}} function closePop() {{$('.pop').hide(); $('#mask').hide();}}", buttonText);