搜索与文本框值对应的结果时,不显示.. [英] While searching the result corresponding to the textbox value is not displaying..

查看:76
本文介绍了搜索与文本框值对应的结果时,不显示..的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨...

我是MVC的初学者。我正在尝试使用Ajax开发搜索引擎。我的项目有两个视图和一个控制器..搜索屏幕有一个文本框和一个搜索按钮。

如果我在文本框中输入值并单击搜索按钮,它导航到下一页(搜索结果页面) )和文本框中填充了我们在搜索屏幕页面文本框中提供的值。



谢谢..



搜索屏幕页面:



 <  表格   方法  =  post     action   =  @ Url.Action(  GetSearch,搜索) >  
< div 样式 = float: left; margin-left:325px; >
< < span class =c ode-leadattribute>输入 type = text id = copy 名称 = 搜索 样式 = height: 25px;宽度:450px;边框:1px实线#4194FF; >
< / div >

< div >
< 输入 类型 = 提交 id = btnsearch name = btnsearch value = 搜索 / >
< / div >
< / form >





搜索结果页:



 <  表格 >  
< tr >
< span class =code-keyword>< td >
关键字:
@ * textbox * @ < 输入 类型 = text id = txtSearch value = @ Model.Item1 名称 = txtsearch / >
@ * search * @ < 输入 type = 按钮 < span class =code-attribute> value = 搜索 id = btnSearch / >
@ * AllSearch * @ < 输入 type = button value = 获取所有用户 id = btnAllUser < span class =code-keyword> / >
< / td >
< / tr >
< span class =code-keyword>< tr >
< td >
< div id = UpdatePanel >

< / div < span class =code-keyword>>
< / td >
< / tr >
< / table >
@section脚本{
< script >
$(document).ready(function (){

//这是获取所有数据
$(#btnAllUser)。click(function(){

$ .ajax({
url:@ Url.Action(GetAllUser,User),
data:,
类型:GET,
dataType:json ,
成功:函数(数据){
loadData(data);
},
错误:function(){
alert(失败!请再试一次。);
}
});

});

//这将用于基于参数
$(#btnSearch)获取数据。click(function(){
$ .ajax({
url:@ Url.Action(GetUserWithParameter,User),
data:{prefix:$('#txtSearch')。val()},
type:GET,
dataType:json,
成功:函数(数据){
loadData(数据);
},
错误:function(){
警告(失败!请再试一次。);
}
});
});

function loadData(data){
//这里我们将格式化&加载/显示数据
var tab = $('< table class = myTable > < / table > ');
var thead = $('< thead > < / thead > ; ');
thead.append('< th > 商家名称< / th > ');
thead.append('< th > 类别< / th > ; ');
thead.append('< th > 说明< / th > ; ');
tab.append(thead);
$ .each(data,function(i,val){
//在此附加数据库数据
var trow = $('< tr > < / tr > ');
trow.append('< td > '+ val.BusinessName +'< / td > ');
trow.append('< td > ; '+ val.BusinessCategory +'< / td > ');
trow.append('< td > '+ val.BusinessDescription +'< / td > ');
tab.append(trow);
});
$(#UpdatePanel)。html(tab);
};

});
< / script >
}







控制器:



public ActionResult GetUser(string keyword)

{

return View(new Tuple< string>(keyword));

}

[HttpPost]

public ActionResult GetSearch(FormCollection frm,string search)

{



返回RedirectToAction(GetUser,new {keyword = frm [search]});

}

public JsonResult GetAllUser()

{

List< tblbusinesscategory> allUser = new List< tblbusinesscategory>();







//这里MyDatabaseEntities是dbContext ,这是在模型创建时创建的。



使用(MvcApplication1Entities2 dc = new MvcApplication1Entities2())

{

allUser = dc.tblBusinessCategories.ToList();

}



返回新的JsonResult {Data = allUser,JsonRequestBehavior = JsonRequestBehavior。 AllowGet};

}



public JsonResult GetUserWithParameter(string prefix)

{

List< tblbusinesscategory> allUser = new List< tblbusinesscategory>();





//这里MyDatabaseEntities是dbContext,它是在模型时创建的创造。



使用(MvcApplication1Entities2 dc = new MvcApplication1Entities2())

{

allUser = dc.tblBusinessCategories .Where(a => a.BusinessDescription.Contains(prefix)|| a.BusinessName.Contains(prefix)|| a.BusinessCategory.Contains(prefix))。ToList();

< br $>
}



返回新的JsonResult {Data = allUser,JsonRequestBehavior = JsonRequestBehavior.AllowGet};

}



}

}

解决方案

(document).ready(function() {

//这是获取所有数据


(#btnAllUser)。click(function(){


< blockquote> .ajax({
url:@ Url.Action(GetAllUser,User),
data:,
类型:GET,
dataType:json,
成功:函数(数据){
loadData(data);
},
错误:function(){
alert(失败!请再试一次。);
}
});

});

//这将用于根据参数


获取数据

Hi...
I am beginner to MVC. am trying to develop a search engine using Ajax. my project have two views and one controller.. search screen having a textbox and a search button.
if i enter the value in the text box and click search button it navigate to next page(search result page) and the textbox filled with value which we give in search screen page textbox.

Thanks..

Search Screen Page:

<form method="post" action="@Url.Action("GetSearch","Search")">
            <div style="float: left; margin-left: 325px;">
                <input type="text" id="copy" name="search" style="height: 25px;width: 450px;border: 1px solid #4194FF;">
            </div>

            <div>
                <input type="submit" id="btnsearch" name="btnsearch" value="search" />
            </div>
        </form>



Search Result Page:

<table>
    <tr>
        <td>
            Keyword :
            @*textbox*@  <input type="text" id="txtSearch" value="@Model.Item1" name="txtsearch" />
            @*search*@   <input type="button" value="Search" id="btnSearch" />
            @*AllSearch*@<input type="button" value="Get All User" id="btnAllUser" />
        </td>
    </tr>
    <tr>
        <td>
            <div id="UpdatePanel">

            </div>
        </td>
    </tr>
</table>
@section Scripts{
    <script>
        $(document).ready(function () {

            // This is for Get All Data
            $("#btnAllUser").click(function () {

                $.ajax({
                    url: "@Url.Action("GetAllUser","User")",
                    data: "",
                    type: "GET",
                    dataType: "json",
                    success: function (data) {
                        loadData(data);
                    },
                    error: function () {
                        alert("Failed! Please try again.");
                    }
                });

            });

            // this will use for Get Data based on parameter
            $("#btnSearch").click(function () {
                $.ajax({
                    url: "@Url.Action("GetUserWithParameter","User")",
                    data: { prefix: $('#txtSearch').val() },
                    type: "GET",
                    dataType: "json",
                    success: function (data) {
                        loadData(data);
                    },
                    error: function () {
                        alert("Failed! Please try again.");
                    }
                });
            });

            function loadData(data) {
                // Here we will format & load/show data
                var tab = $('<table class="myTable"></table>');
                var thead = $('<thead></thead>');
                thead.append('<th>Business Name</th>');
                thead.append('<th>Category</th>');
                thead.append('<th>Description</th>');
                tab.append(thead);
                $.each(data, function (i, val) {
                    // Append database data here
                    var trow = $('<tr></tr>');
                    trow.append('<td>' + val.BusinessName + '</td>');
                    trow.append('<td>' + val.BusinessCategory + '</td>');
                    trow.append('<td>' + val.BusinessDescription + '</td>');
                    tab.append(trow);
                });
                $("#UpdatePanel").html(tab);
            };

        });
    </script>
}




Controller:

public ActionResult GetUser(string keyword)
{
return View(new Tuple<string>(keyword));
}
[HttpPost]
public ActionResult GetSearch(FormCollection frm, string search)
{

return RedirectToAction("GetUser", new { keyword = frm["search"] });
}
public JsonResult GetAllUser()
{
List<tblbusinesscategory> allUser = new List<tblbusinesscategory>();



// Here "MyDatabaseEntities " is dbContext, which is created at time of model creation.

using (MvcApplication1Entities2 dc = new MvcApplication1Entities2())
{
allUser = dc.tblBusinessCategories.ToList();
}

return new JsonResult { Data=allUser, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}

public JsonResult GetUserWithParameter(string prefix)
{
List<tblbusinesscategory> allUser = new List<tblbusinesscategory>();


// Here "MyDatabaseEntities " is dbContext, which is created at time of model creation.

using (MvcApplication1Entities2 dc = new MvcApplication1Entities2())
{
allUser = dc.tblBusinessCategories.Where(a => a.BusinessDescription.Contains(prefix) || a.BusinessName.Contains(prefix) || a.BusinessCategory.Contains(prefix)).ToList();

}

return new JsonResult { Data = allUser, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}

}
}

解决方案

(document).ready(function () { // This is for Get All Data


("#btnAllUser").click(function () {


.ajax({ url: "@Url.Action("GetAllUser","User")", data: "", type: "GET", dataType: "json", success: function (data) { loadData(data); }, error: function () { alert("Failed! Please try again."); } }); }); // this will use for Get Data based on parameter


这篇关于搜索与文本框值对应的结果时,不显示..的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆