asp.net中<input type=button>无法调用后台函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net中<input type=button>无法调用后台函数相关的知识,希望对你有一定的参考价值。

例如:用<input id="bt1" type="button" runat="server" Onclick="delete"/>添加一个按钮(注:不是从工具箱拖进去的控件)
在default.aspx.cs中有个delete()方法
但是按钮bt1无法实现delete功能,请问为何? 该如何改进?

Onclick 改成OnSeverClick

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="htmlControl.aspx.cs" Inherits="WebApp.HtmlControl" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" onserverclick="delete" value="test" runat="server" />
</div>
</form>
</body>
</html>

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace WebApp

public partial class HtmlControl : System.Web.UI.Page

protected void Page_Load(object sender, EventArgs e)




protected void delete(object sender, EventArgs e)

Response.Write("test");


参考技术A html button 只能响应客户端事件,在浏览器里执行javascript 代码
asp.net button 事件代码则在服务器上运行,可以使用服务器资源
要么你把delete用javascript写在前台,要么你就把标签改为:
<asp:Button id="bt1" runat="server" Onclick="delete"/>

强制 <input type="file"> 在移动设备中打开图库

【中文标题】强制 <input type="file"> 在移动设备中打开图库【英文标题】:Force <input type="file"> to open gallery in mobile 【发布时间】:2017-08-20 15:06:28 【问题描述】:

我想让我的输入只接受来自画廊的文件,而不是允许用户打开相机。 我怎样才能实现它?

ASP.NET

<asp:FileUpload ID="filGallery" runat="server" AllowMultiple="true" />

HTML 5

<input type="file" id="filGallery" multiple="multiple" />

我想要的行为类似于 iOS 8 或更低版本中的行为,其中启用多个文件的输入无法打开相机

【问题讨论】:

此链接可能会有所帮助w3schools.com/tags/att_input_accept.asp 我尝试输入accept=".pdf",但它仍然询问我是否要从相机上传 另一个***.com/questions/11832930/… 该问题未涉及移动图库。 【参考方案1】:

只需使用简单的方法在手机中打开图库

  <input type="file" id="fileProfile2" name="fileProfile2"  accept="image/png,image/jpeg">

【讨论】:

这不起作用。您提供的“接受”属性仅说明 png 和 jpeg 是接受的文件类型。 @TrayFleary 它对我有用,请检查你的。 不,它不起作用。接受只是对允许的 mime 类型的限制,但设备正在打开系统弹出窗口并提供选择相机的选项【参考方案2】:

我认为没有办法强制使用图库 - 目前的趋势是更多地使用相机(并建议使用正面或背面)而不是禁用它。

但是,关于 SO(但关注捕获类型)有一个类似的问题,其中回答者指出了您可以尝试的一些输入属性方式:

原SO:https://***.com/a/40512470/2564920

他对手机抓包做过的更详细的测试:https://addpipe.com/blog/correct-syntax-html-media-capture/

您可以试用的测试页面:https://addpipe.com/html-media-capture-demo/

特别是一种设置

<input type="file" accept="image/*" capture="filesystem">

看起来很有希望 - 但可能不起作用(因为不推荐使用此语法,并且新规范中的 capture 属性用于表示您要使用摄像头 - 在前置或后置摄像头之间进行选择 source)

【讨论】:

是的,没用.. 好吧,我希望规格有所改变,有办法做到这一点会很好......无论如何,谢谢,+1

以上是关于asp.net中<input type=button>无法调用后台函数的主要内容,如果未能解决你的问题,请参考以下文章

在ASP.NET MVC Razor模式里面提交表单数据时,都有一个type=submit的input按钮,

强制 <input type="file"> 在移动设备中打开图库

OnClientClick 总是在 asp.net 中触发

有没有办法将 input type="file" 'HttpPotedFileBase' 的 src 设置为 asp.net mvc 中已上传的图片?

asp.net中form表单多个按钮submit提交到后台的实例

asp.net中没用js绑定回车事件,可是为啥在文本框中输入内容后按回车键还会触发该事件?求大神解释下!