Javascript 如何从<;传递值;a>;(锚定标记)到react js中的函数?

Javascript 如何从<;传递值;a>;(锚定标记)到react js中的函数?,javascript,asp.net-mvc,reactjs,asp.net-web-api,Javascript,Asp.net Mvc,Reactjs,Asp.net Web Api,我正在尝试使用react和mvc.net创建一个CRUD应用程序。单击表中的edit/delete链接时,我希望将相应的EmpID传递给函数,然后将其传递给控制器,在控制器中执行编辑/删除操作。请让我知道怎么做 var EmployeeRow = React.createClass({ Editnavigate: function(){ }, Deletenavigate: function(){ }, render: function () {

我正在尝试使用react和mvc.net创建一个CRUD应用程序。单击表中的edit/delete链接时,我希望将相应的EmpID传递给函数,然后将其传递给控制器,在控制器中执行编辑/删除操作。请让我知道怎么做

var EmployeeRow = React.createClass({

    Editnavigate: function(){

    },

    Deletenavigate: function(){

    },

    render: function () {
        return (
            <tr>
                <td>{this.props.item.EmployeeID}</td>
                <td>{this.props.item.FirstName}</td>
                <td>{this.props.item.LastName}</td>

                <td>
                    <a href="#" data-value="this.props.item.EmployeeID" onclick=this.Editnavigate>edit</a> | 
                    <a href="#" data-value="this.props.item.EmployeeID" onclick=this.Deletenavigate>delete</a>
                </td>               
            </tr>

        );
    }
});
var EmployeeRow=React.createClass({
Editnavigate:function(){
},
Deletenavigate:function(){
},
渲染:函数(){
返回(
{this.props.item.EmployeeID}
{this.props.item.FirstName}
{this.props.item.LastName}
| 
);
}
});

您可以从单击处理程序中检索所需的数据,如下所示:

EditNavigable: function(e) {
    var clickedLink = e.currentTarget;
    var data = clickedLink.getAttribute('data-value');
}
EditNavigable: function(e) {
    var data = this.getDataValue(e);
} 
或者你可以把它放在它自己的功能中,就像这样:

getDataValue: function(e) {
    return e.currentTarget.getAttribute('data-value');
}
然后从编辑和删除功能调用它,如下所示:

EditNavigable: function(e) {
    var clickedLink = e.currentTarget;
    var data = clickedLink.getAttribute('data-value');
}
EditNavigable: function(e) {
    var data = this.getDataValue(e);
} 

您可以使用
onClick
来完成此操作,如下所示

Editnavigate (e,id) {
    e.preventDefault();
    alert(id);
}

<a href="#" onClick={(e) => this.Editnavigate(e,1)}>edit</a> // pass your id inplace of 1
编辑导航(e,id){ e、 预防默认值(); 警报(id); } //把你的身份证放在1的位置

注意:您也可以通过
数据值
传递,但这仍然不好 在这种情况下,您仍然需要访问dom并通过它获取数据 字段,而只是在可能的情况下传递值。那将 要简单,需要较少的处理


你可以按下面的方法做。我在reactjs和javascript(ES-6)中也尝试了同样的方法,但除了下面的方法外,其他方法都不起作用-

<a href = 'www.google.com' onClick={clickHandler} > Google </a>

clickHandler(event){
  event.preventDefault();
  alert("This is alert: " + event.target.getAttribute('href'));
}

Here event.target.getAttribute('href') will return 'www.google.com'

clickHandler(事件){
event.preventDefault();
警报(“这是警报:+event.target.getAttribute('href'));
}
这里event.target.getAttribute('href')将返回“www.google.com”