从javascript函数调用c#函数
我有一个javascript函数和c#fanction。我需要从javascript函数调用c#函数,但我不知道如何 有人能帮我吗 谢谢大家! javascript函数-从javascript函数调用c#函数,c#,javascript,visual-studio-2010,C#,Javascript,Visual Studio 2010,我有一个javascript函数和c#fanction。我需要从javascript函数调用c#函数,但我不知道如何 有人能帮我吗 谢谢大家! javascript函数- <script type="text/javascript" language="javascript"> function DeleteBook(idimg) { // idimg is a string var userConfirm = window.confirm(
<script type="text/javascript" language="javascript">
function DeleteBook(idimg) {
// idimg is a string
var userConfirm = window.confirm('Are you sure?');
if (userConfirm == true) {
control.Sess(idimg);// The line which is colling to the c# function - doesn't work
window.open('Delete.aspx');
}
else
return false;
}
</script>
protected void Sess(string id)
{
Session["forDelete"] = id;
}
您必须创建一个submit类型的输入,使用HTML调用C#函数并将其隐藏。然后创建一个div标记,并使用javascript执行以下操作:
@CSS
.Hidden {
display:none;
}
@HTML
<input type="submit" id="SubmitTag" OnClick="C# Functin" class="Hidden" runat="server" />
//if using MVC and Razor
@using (Html.BeginForm("Action Name", "Controller Name", FormMethod.Post)) {
<input type="submit" id="SubmitTag" class="Hidden" />
}
<div id="OnDivClick"> what you want to do in here </div>
@JS
$('#OnDivClick').click(function () {
$('#SubmitTag').trigger("click");
});
@CSS
.隐藏{
显示:无;
}
@HTML
//如果使用MVC和Razor
@使用(Html.BeginForm(“操作名”、“控制器名”、FormMethod.Post)){
}
你想在这里干什么
@JS
$('#OnDivClick')。单击(函数(){
$('#SubmitTag')。触发器(“单击”);
});
您可以创建一个web方法
[WebMethod(EnableSession = true)]
public static Application GetApplication(int id)
{
}
然后在javascript中执行类似的操作
$.ajax(
{
type: "POST",
url: "Applications.aspx/GetApplication",
contentType: "application/json; charset=utf-8",
data: "{'id':" + id + "}",
dataType: "json",
success: methodToDoSomethingOnSuccess,
error: function (rhq, textStatus, errorThrown) {
alert ("some went awry");
}
});
好的,有很多方法可以做到这一点,但我相信您正在尝试在
会话中保存一些内容,以便Delete.aspx
页面阅读。最简单的解决方案是将数据发布到:
var form = document.createElement("form");
form.setAttribute('method', 'post');
form.setAttribute('action', 'Delete.aspx');
form.setAttribute('target', '_blank');
form.innerHTML = '<input type="hidden" name="forDelete" value="' + idimg + '" />';
document.body.appendChild(form);
form.submit();
你可以公开你想在WCF服务中调用的方法,然后通过ajax点击它们。我不知道怎么做……看看TYY的答案。没关系,你的JS函数调用你的C#方法,不管你想做什么,只要在图像按钮上使用JS函数就行了!
string idimg = Request.Form["forDelete"];
// Do whatever with it
Session["forDelete"] = idimg; // If you still want to save it in Session