C# 不带runat的ASP.NET=";服务器";
我必须使用asp.net web表单创建一个简单的网站,但我必须不使用任何服务器控件,即C# 不带runat的ASP.NET=";服务器";,c#,asp.net,webforms,C#,Asp.net,Webforms,我必须使用asp.net web表单创建一个简单的网站,但我必须不使用任何服务器控件,即runat=“server” 我有以下资料: HTML <form method="post" action=""> <label for="name">Name</label> <input id="name" name="name" type="text" /> <input value="Save" type="submit"
runat=“server”
我有以下资料:
HTML
<form method="post" action="">
<label for="name">Name</label>
<input id="name" name="name" type="text" />
<input value="Save" type="submit" />
</form>
我目前正在将//do something
放在受保护的无效页面\u Load(object sender,EventArgs e)
函数中,但我想在单击保存按钮时调用它。但是,如果不使用runat=“server”
,我不知道如何做到这一点。有没有办法做到这一点
感谢advanced这个问题的真正答案在评论中: 使用
webforms
但说不runat=“server”
就像说去划独木舟,但没有划桨。听起来更像是应该使用ASP.NET MVC
我还将添加快速完成任务的功能(注意:并不意味着ASP.Net网页
仅适用于“简单”网站-你可以用它做任何你想做的事情)
我必须使用asp.net web表单创建一个简单的网站
但既然它“必须”是WebForms
,它仍然是可行的。这样做明智吗nope-尤其是上述选项以及SPA
/Javascript
/XHR
上的其他注释
一天结束时,仍然是HTTP请求和响应
,因此标准HTML表单输入和类似的工作就像在任何其他“框架”中一样:
- “前端”(嗯,
在技术上是一个页面
,但我们坚持使用控件
,因此这将是唯一的“服务器控件”):WebForms
NoServerControls.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="NoServerControls.aspx.cs" Inherits="WebForms.NoServerControls" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Humor Me Batman</title> </head> <body> <form method="post"> <input type="text" name="wtf"/> <input type="submit" value="Batman"/> </form> <h1>It's "classic ASP" Batman! <%= echo %></h1> </body> </html>
蝙蝠侠:)我有一个关于这个的测试项目,请参考这个
<table>
<tr>
<td>Name </td>
<td>
<input type="text" id="custid" class="form-control custname" name="fullname" required />
</td>
</tr>
<tr>
<td>Designation </td>
<td>
<select id="loading" class="form-control loading">
<option value="0">Select </option>
<option value="HR">HR </option>
<option value="Engg">Engg </option>
<option value="Doctor">Doctor </option>
</select>
</td>
</tr>
<tr>
<td>Mobile No. </td>
<td>
<input type="text" id="mobile" class="form-control mobile" onkeypress="return event.charCode >=48 && event.charCode <= 57" name="fullname" required />
</td>
</tr>
<tr>
<td>Email Id </td>
<td>
<input type="text" id="emailid" class="form-control emailid" name="fullname" required />
</td>
</tr>
<tr>
<td colspan="2" id="btn">
<button type="button" onsubmit="return validateForm()" class="btn btn-primary">Save</button>
</td>
</tr>
</table>
<script>
$(document).ready(function () {
$('#btn').click(function () {
var CustNamevalidate = $('.custname').val();
if (CustNamevalidate != '') {
Name = $(".custname").val();
Loading = $(".loading").val();
Mobile = $(".mobile").val();
EmailId = $(".emailid").val();
$.ajax({
type: "POST",
url: "test.aspx/Complextype",
data: JSON.stringify({
Nam: Name, Loadin: Loading, Mobil: Mobile, EmailI: EmailId
}),
contentType: "application/json; charset=utf-8",
datatype: "json"
}).done(function (result) {
console.log(result);
alert(JSON.stringify(result));
})
}
else {
alert('Please Enter Customer Name');
}
});
});
</script>
名称
任命
挑选
人力资源
工程师
医生
流动电话号码。
电子邮件Id
拯救
$(文档).ready(函数(){
$('#btn')。单击(函数(){
var CustNamevalidate=$('.custname').val();
如果(CustNamevalidate!=''){
名称=$(“.custname”).val();
加载=$(“.Loading”).val();
Mobile=$(“.Mobile”).val();
EmailId=$(“.EmailId”).val();
$.ajax({
类型:“POST”,
url:“test.aspx/Complextype”,
数据:JSON.stringify({
Nam:Name,Loadin:Loading,Mobil:Mobile,EmailI:EmailId
}),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”
}).完成(功能(结果){
控制台日志(结果);
警报(JSON.stringify(result));
})
}
否则{
警报(“请输入客户名称”);
}
});
});
WEB方法背后的代码
[WebMethod]
public static string Complextype(string Nam, string Loadin, string Mobil, string EmailI)
{
string Qtets = "Details are : Name =" + Nam + " And Designation is =" + Loadin + " And Mobileno=" + Mobil + " And EmailI=" + EmailI;
// ScriptManager.RegisterStartupScript(Page, typeof(Page), "test", "<script>alert('Sorry This Category Name Already Exist.');</script>", false);
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Constr"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("usp_add_upd_emptb", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@EmpName", Nam);
cmd.Parameters.AddWithValue("@EmpNo", Mobil);
cmd.Parameters.AddWithValue("@Desig", Loadin);
cmd.Parameters.AddWithValue("@Email", EmailI);
cmd.Parameters.AddWithValue("@id", 0);
con.Open();
cmd.ExecuteNonQuery();
if (con.State == ConnectionState.Open)
{
con.Close();
}
else
{
con.Open();
}
}
//SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Constr"].ConnectionString);
//{
//}
return Qtets;
}
[WebMethod]
公共静态字符串Complextype(字符串Nam、字符串装入、字符串移动、字符串电子邮件i)
{
字符串Qtets=“详细信息为:Name=“+Nam+”,名称为=“+Loadin+”和Mobileno=“+Mobil+”和EmailI=“+EmailI;
//ScriptManager.RegisterStartupScript(第页,typeof(第页),“测试”,“警报('抱歉,此类别名称已存在');”,false);
使用(SqlConnection con=newsqlconnection(ConfigurationManager.ConnectionStrings[“Constr”].ConnectionString))
{
SqlCommand cmd=newsqlcommand(“usp\u add\u upd\u emptb”,con);
cmd.CommandType=CommandType.storedProcess;
cmd.Parameters.AddWithValue(“@EmpName”,Nam);
cmd.Parameters.AddWithValue(“@EmpNo”,Mobil);
cmd.Parameters.AddWithValue(“@Desig”,Loadin);
cmd.Parameters.AddWithValue(“@Email”,EmailI);
cmd.Parameters.AddWithValue(“@id”,0);
con.Open();
cmd.ExecuteNonQuery();
if(con.State==ConnectionState.Open)
{
con.Close();
}
其他的
{
con.Open();
}
}
//SqlConnection con=新的SqlConnection(ConfigurationManager.ConnectionString[“Constr”].ConnectionString);
//{
//}
返回QTET;
}
如果不使用服务器控件调用函数,则不能直接调用函数。您需要具有静态函数的Web服务。使用JavaScript…@DavidG-这是唯一的方法吗?无论您做什么,都需要某种形式的JavaScript,甚至连
runat=server
也可以控制。使用webforms但说“不”runat=“server”
就像说去划船,但没有划桨。听起来你应该使用ASP.NETMVC@DavidG-很公平。非常感谢。
<table>
<tr>
<td>Name </td>
<td>
<input type="text" id="custid" class="form-control custname" name="fullname" required />
</td>
</tr>
<tr>
<td>Designation </td>
<td>
<select id="loading" class="form-control loading">
<option value="0">Select </option>
<option value="HR">HR </option>
<option value="Engg">Engg </option>
<option value="Doctor">Doctor </option>
</select>
</td>
</tr>
<tr>
<td>Mobile No. </td>
<td>
<input type="text" id="mobile" class="form-control mobile" onkeypress="return event.charCode >=48 && event.charCode <= 57" name="fullname" required />
</td>
</tr>
<tr>
<td>Email Id </td>
<td>
<input type="text" id="emailid" class="form-control emailid" name="fullname" required />
</td>
</tr>
<tr>
<td colspan="2" id="btn">
<button type="button" onsubmit="return validateForm()" class="btn btn-primary">Save</button>
</td>
</tr>
</table>
<script>
$(document).ready(function () {
$('#btn').click(function () {
var CustNamevalidate = $('.custname').val();
if (CustNamevalidate != '') {
Name = $(".custname").val();
Loading = $(".loading").val();
Mobile = $(".mobile").val();
EmailId = $(".emailid").val();
$.ajax({
type: "POST",
url: "test.aspx/Complextype",
data: JSON.stringify({
Nam: Name, Loadin: Loading, Mobil: Mobile, EmailI: EmailId
}),
contentType: "application/json; charset=utf-8",
datatype: "json"
}).done(function (result) {
console.log(result);
alert(JSON.stringify(result));
})
}
else {
alert('Please Enter Customer Name');
}
});
});
</script>
[WebMethod]
public static string Complextype(string Nam, string Loadin, string Mobil, string EmailI)
{
string Qtets = "Details are : Name =" + Nam + " And Designation is =" + Loadin + " And Mobileno=" + Mobil + " And EmailI=" + EmailI;
// ScriptManager.RegisterStartupScript(Page, typeof(Page), "test", "<script>alert('Sorry This Category Name Already Exist.');</script>", false);
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Constr"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("usp_add_upd_emptb", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@EmpName", Nam);
cmd.Parameters.AddWithValue("@EmpNo", Mobil);
cmd.Parameters.AddWithValue("@Desig", Loadin);
cmd.Parameters.AddWithValue("@Email", EmailI);
cmd.Parameters.AddWithValue("@id", 0);
con.Open();
cmd.ExecuteNonQuery();
if (con.State == ConnectionState.Open)
{
con.Close();
}
else
{
con.Open();
}
}
//SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Constr"].ConnectionString);
//{
//}
return Qtets;
}