在本文中,我们将为您详细介绍html–输入标签中的#id是什么意思?的相关知识,并且为您解答关于html中id标签的用法的疑问,此外,我们还会提供一些关于AndroidHtml与客户端交互----1.
在本文中,我们将为您详细介绍html – 输入标签中的#id是什么意思?的相关知识,并且为您解答关于html中id标签的用法的疑问,此外,我们还会提供一些关于Android Html 与客户端交互 ---- 1.)html 操作 activity、ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处、asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction的有用信息。
本文目录一览:- html – 输入标签中的#id是什么意思?(html中id标签的用法)
- Android Html 与客户端交互 ---- 1.)html 操作 activity
- ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
- asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处
- asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
html – 输入标签中的#id是什么意思?(html中id标签的用法)
从这个Angular.io tutorial,我展示:
Box" (keyup)="search(searchBox.value)" />
我不明白的地方:#searchBox.谁能解释一下?
hashtag让我想起了id的jQuery选择器,但我不太清楚这意味着什么,因为我们已经有了id.
详情请见:https://angular.io/guide/template-syntax#ref-vars
Android Html 与客户端交互 ---- 1.)html 操作 activity
1. 何为 scheme 和 Uri
在 Android 中 scheme 是指 Uri 链接:之前的部分如 test://login scheme 即为 test。 可能很多人要为 URI 是怎么定义的呢?具体看 URI 的定义
- 英文愿意: An identifier is an object that can act as a reference to something that has identity. In the case of URI, the object is a sequence of characters with a restricted syntax.
- 翻译:
一个具有参考对象的可以唯一识别的标识符。在这种情况下,这个对象在有限的语法表达出有序的符号
2.Uri 的结构
test://video:8080/event?title="scheme"&url="www.xiaomi.com"
- scheme :test
- host :video
- port:8080
- path :/event
- query : titile ,url
3. 如果通过 H5 (url) 来启动相应的页面(activity)
String url="test://video:8080/event?title="scheme"&url="www.xiaomi.com" "
Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse(url));
startActivity(intent);
<activity android:name=".UriActivity">
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="test" android:host="video" />
</intent-filter>
</activity>
这样就可以在 UriActivity 中接收 url 跳转相应的动作以及数据。
> Uri data=getIntent().getData();
> data.getScheme();
> data.getHost();
> data.getPort();
> data.getPath();
> data.getQueryParameter("title");
4. 大量的不同的 scheme 跳转
如果我们在每个 activity 中配置 scheme ,host,path 显得特别麻烦。这个时候我们需要一个中转的 activity 来处理所有的 scheme 的跳转。根据相应的 host,path 来跳转到相应的 activity 做进一步处理。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Uri data = intent.getData();
String host = data.getHost();
if(host.equals("list")){
if ("/near".equals(data.getPath())) {//yhouse://list/near
intentTransfer = new Intent(this, NearbyActivity.class);
} else if ("/new".equals(data.getPath())) {//yhouse://list/new
intentTransfer = new Intent(this, NewSkuActivity.class);
} else if ("/live".equals(data.getPath())) {
intentTransfer = new Intent(this, LiveActivity.class);
} else if ("/neighbor".equals(data.getPath())) {
intentTransfer = new Intent(this, NeighborActivity.class);
} else if ("/talent".equals(data.getPath())) {
intentTransfer = new Intent(this, TalentListActivity.class);
} else if ("/guide".equals(data.getPath())) {
intentTransfer = new Intent(this, GuideActivity.class);
} else if ("/experience".equals(data.getPath())) {
intentTransfer = new Intent(this, PlayerActivity.class);
}else if ("/latest".equals(data.getPath())) {
intentTransfer = new Intent(this, CikeActivity.class);
} else if ("/message".equals(data.getPath())) {
intentTransfer = new Intent(this, HomeActivity.class);
} else if ("/message/like".equals(data.getPath())) {
intentTransfer = new Intent(this, MessageDetailActivity.class);
} else if ("/message/comment".equals(data.getPath())) {
intentTransfer = new Intent(this, MessageDetailActivity.class);
} else if ("/message/follow".equals(data.getPath())) {
intentTransfer = new Intent(this, MessageDetailActivity.class);
} else if ("/message/system".equals(data.getPath())) {
intentTransfer = new Intent(this, SystemNoticeActivity.class);
} else {
intentTransfer = new Intent(this, HomeActivity.class);
}
}else if ("my-member".equals(host)) {
intentTransfer = new Intent(this, MemberInfoActivity.class);
} else if ("event".equals(host)) {
intentTransfer = new Intent(this, HuodongDetailActivity.class);
} else if ("booking-list".equals(host)) {
intentTransfer = new Intent(this, OrderManagerActivity.class);
} else if ("my-party".equals(host)) {
intentTransfer = new Intent(this, OrderManagerActivity.class);
intentTransfer.putExtra("type", OrderManagerActivity.PARTY);
} else if ("order".equals(host)) {
intentTransfer = new Intent(this, BookingManageDetailActivity.class);
} else if ("meal".equals(host)) {
intentTransfer = new Intent(this, MealDetailActivity.class);
}
}
你可能发现大量的 if else 语句不是非常好的选择。你可以采用 swith case 看不起来更清爽一些。但是使用 HashMap 将是我们比较好的选择。
HashMap 处理 首发定义一个枚举 SchemeEnum 和类 SchemeManager
>``` public enum ShemeEnum {
> Nearby("/near", NearbyActivity.class), NewSku("/new", NewSkuActivity.class),Live("/live", LiveActivity.class),
> NeighborActivity("/neighbor", NeighborActivity.class),Talent("/talent", NeighborActivity.class),Guide("/guide", GuideActivity.class),
> Player("/experience", PlayerActivity.class),News("/news", NewsActivity.class),Latest("latest",CikeActivity.class),
> Message("/message",NeighborActivity.class),Like("/message/like",NeighborActivity.class),
> Comment("/message/comment",NeighborActivity.class),Follow("/message/follow",NeighborActivity.class),
> System("/message/system",NeighborActivity.class),event("event",HomeActivity.class);
> private String key;
> private Class<?> value;
>
> private ShemeEnum(String key, Class<?> value) {
> this.value = value;
> this.key = key;
> }
>
> public String getKey() {
> return key;
> }
>
> public Class<?> getValue() {
> return value;
> }
> }
>```
> public class SchemeManager {
> private static HashMap<String, Class> map = new HashMap();
> private static SchemeManager scheme;
>
> public static HashMap initScheme() {
> ShemeEnum[] values = ShemeEnum.values();
> int len=values.length;
> for (int i = 0; i <len ; i++) {
> map.put(values[i].getKey(), values[i].getValue());
> }
> return map;
> }
>
> public static HashMap<String, Class> getMap() {
> return map;
> }
> }
scheme 转化的 Activity 将整理成
>```
> public class UriActivity extends Activity {
> private SApplication sApplication;
>
> @Override
> protected void onCreate(Bundle savedInstanceState) {
> super.onCreate(savedInstanceState);
> setContentView(R.layout.activity_test);
> Log.e("---UriActivity---", getClass().getName());
> Uri data = getIntent().getData();
> sApplication = (SApplication) getApplication();
> Intent intent = getIntent();
> if (intent == null || data == null) finish();
> Intent intentTransfer = null;
> String host = data.getHost();
> if (host.equals("list")) {
> intentTransfer = getIntentTransfer(data.getPath());
> } else {
> intentTransfer = getIntentTransfer(host);
> }
> if (intentTransfer != null) {
> intentTransfer.setData(data);
> startActivity(intentTransfer);
> }
> finish();
> }
>
> private Intent getIntentTransfer(String path) {
> Object clazz = sApplication.getMap().get(path);
> Intent intentTransfer;
> if (clazz != null) {
> intentTransfer = new Intent(this, (Class<?>) clazz);
> } else {
> intentTransfer = new Intent(this, HomeActivity.class);
> }
> return intentTransfer;
> }
> }
> ``
感觉 UriActivity 变的更简洁。每次新加 scheme 只需要在对应的枚举中添加相应的 scheme 和 Activity 名称既可以正常的跳转。
5. 拦截 uri 跳转
如果你想在跳转的途中或者我直接操作相应的某个操作(显示弹框,去分享等等) 你首先要重写 WebViewClient shouldOverrideUrlLoading(WebView view, String url); 来实现拦截的目的。
this.setWebViewClient(new WebViewClient() {
String failedUrl;
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//TODO 判断是否要拦截。如果需要做你的拦截之后的动作。
//不需要直接跳转(看第3条)。
return true;
}
});
}
这样通过 H5 来打开相应的 activity 并且传递参数的相关内容介绍完。下一节。我们将讲解 Activity 传递给 html 数据,以及调用相关的方法。
ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
1.Action、RenderAction加载办法的视图,履行Controller → Model → View的次序,然后把产生的页面带回到本来的View中再回传。而Partial、RenderPartial直接加载视图文件内容
2.Html.Partial可以直接供给用户控件名作为参数,而Html.Action须要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。
3.对于简单的没有任何逻辑的用户控件,推荐应用Html.Partial;对于须要设置一些Model的用户控件,推荐应用Html.Action。当然,有Model数据也是可以应用Html.Partial办法的,可以看办法的重载。
4.Html.Partial与Html.Action有啥区别呢?区别就是,Html.Partial只有一个视图,而Html.Action除了视图,还真的有个Action跟它对应,所以,Html.Action功能比Html.Partial要强。
如何调用这个Html.Partial
//1、以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹)
@Html.Partial(
"_test"
)
//加载对应文件 /Views/Product/_test.cshtml
//2、依据应用根路径定位视图// 以 "/" 或 "~/" 开头的路径代表应用根路径
@Html.Partial(
"~/Views/Product/_test.cshtml"
)
@Html.Partial(
"/Views/Product/_test2.cshtml"
)
//3、加载其他目录的 视图文件
//注意:需要复制views中的web.config 到template目录,否则会提示 "/template/A.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage<TModel>"
@Html.Partial(
"/template/A.cshtml"
)
asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处
Html.Partial and Html.RenderPartial Html.Action and Html.RenderAction
解决方法
Html.Partial使用已创建的模型(或者可以在没有模型的情况下调用)来渲染指定的视图.
何时使用一个而不是另一个?如果您已有模型并且只想拥有可重复使用的视图,请选择Html.Partial.如果你看到某个部分值得拥有自己的模型和动作,那么使用Html.Action可能是有意义的.
这个问题在this article中有更详细的讨论,你在上面看到的基本上是它的摘录.
asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
1、带有Render的方法返回值是void,在方法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能这样使用:
@Html.Partial 对应 @{Html.RenderPartial(....);}@Html.Action 对应 @{Html.RenderAction(....);}
2、Html.Partial可以直接提供用户控件名作为参数,
而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。
3、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有 Model数据也是可以使用Html.Partial方法的,可以看方法的重载。
4、使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。比如:@Html.Action("UserInfoControl")在对应的 UserInfoControl这个Action中,在用户未登录的时候,可以retun PartialView("LogOnUserControl");登录后,可以retun PartialView("UserInfoControl");
关于html – 输入标签中的#id是什么意思?和html中id标签的用法的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Android Html 与客户端交互 ---- 1.)html 操作 activity、ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处、asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction的相关知识,请在本站寻找。
本文标签: