js 前台调用后台方法

zy_net133630 2012-04-20 05:16:43
用js调用后台方法为何只执行一次啊?


var a=" <%=ss() %>";
alert(a);

ss()为后台方法
...全文
178 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
csd2012miiko 2012-05-04
  • 打赏
  • 举报
回复
书写是否正确
Leen_Jude 2012-05-03
  • 打赏
  • 举报
回复
遇到了相似的问题。我是用js动态产生<input type='file' />的,然后上传到服务器上。
zy_net133630 2012-04-20
  • 打赏
  • 举报
回复
我是用FileUpload控件做的上传,不会用ajax


前台代码:
<script type="text/javascript">
var api = frameElement.api, W = api.opener; var list = W.$.dialog.list;

$(function(){
$("#txtSerialNo").val(GetQueryString("sserialno"));
});
function cl(){
for( var i in list ){
list["testID2"].close();
}
}
function test(){
var a=" <%=ss() %>";
alert(a);
}

</script>
<style type="text/css">
.style2
{
height: 35px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div class="layoutConent">

<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
<table class="table1" width="100%">
<tr>
<td>
设备序列号
</td>
<td>
<input id="txtSerialNo" runat="server" type="text" readonly="readonly" />
</td>
</tr>
<tr>
<td>
接收时间
</td>
<td>
<input id="txtDate" runat="server" readonly="readonly" type="text" onfocus="getdate()" class="date" />
</td>
</tr>
<tr>
<td>
运行状态
</td>
<td>
<select id="dpState" runat="server">
<option value="0" selected="selected">正常</option>
<option value="1">异常</option>
<option value="2">维护</option>
</select>
</td>
</tr>
<tr>
<td>
备注
</td>
<td colspan="3">
<textarea rows="5" cols="70" id="txtBAK" runat="server"></textarea>
</td>
</tr>

<tr>
<td class="style2">
附件
</td>
<td colspan="3" class="style2">
<asp:FileUpload ID="FileUpload1" runat="server" Height="25px" />
</td>
</tr>
<tr>
<td align="center" colspan="4">
 <asp:Button ID="btnAdd" runat="server" Text="添加" onclick="btnAdd_Click" Height="25px" />
<input id="btnCancel" value="取消" onclick="cl()" type="button" style="height:25px" />
</td>
</tr>
<tr>
<td colspan="4">
</td>
</tr>
</table>


后台代码:

public string ss() {
string name = "";
if (FileUpload1.FileName != "")
{
string fullName = FileUpload1.FileName;
string extName = fullName.Substring(fullName.LastIndexOf('.') + 1);
if (extName.ToLower() == "jpg" || extName.ToLower() == "gif" || extName.ToLower() == "jpeg" || extName.ToLower() == "bmp" || extName.ToLower() == "doc" || extName.ToLower() == "txt")
{
string fileName = fullName.Substring(fullName.LastIndexOf('\\') + 1).Substring(0, fullName.LastIndexOf('.')) + DateTime.Now.ToString("yyyyMMddhhmmss");
name = fileName + "." + extName;
FileUpload1.SaveAs(Server.MapPath("../image/") + name);
}
else
{
return "上传类型只能为图片或文本!";
}
}
RuningInfo info = new RuningInfo();
if (txtDate.Value != "")
{
info.Dtreceive = txtDate.Value;
}
else
{
info.Dtreceive = DBNull.Value;
}
info.State = Convert.ToInt32(dpState.Value);
info.Remark = txtBAK.Value;
info.Name = name;
info.Url = "../image/";
info.Sserialno = txtSerialNo.Value;

if (service.addRuningInfo(info) != 0)
{
return "添加成功!";
}
else
{
return "添加失败!";
}
}

wzhiyuan 2012-04-20
  • 打赏
  • 举报
回复
所谓前台就是客户端,后台就是服务器端,
你都没有请求去服务器端,怎么可能执行服务器方法

如果你想执行,可以ajax

<%
ss()
%>写在一个单独的服务器文件里

前台 <input type=button onclick='getss()' value='getss'>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>
<script type='text/javascript'>
function getss(){
$.get("a.asp",functioin(data){
alert(data);
})
}
</script>
三石-gary 2012-04-20
  • 打赏
  • 举报
回复
把你代码贴来看看
zy_net133630 2012-04-20
  • 打赏
  • 举报
回复
它只在加载时调用一次,我是在按钮单击时调用的,单击按钮时根本就没调!
三石-gary 2012-04-20
  • 打赏
  • 举报
回复
什么叫只执行一次啊。。你调用一次就执行一次呗。。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧